1 /*28 【程序 28 排序算法】
2 题目:对 10 个数进行排序
3 程序分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换, 下次类推,
4 即用第二个元素与后 8 个进行比较,并进行交换。
5 */
6 /*分析
7 * 冒泡排序法:
8 * 利用数组得到键盘上的一组数据并保存,再通过冒泡排序法得到新的数组
9 * 使用两层for循环,外面一层判断排序排到哪儿了,里面一层用于遍历剩下需要排序的数
10 *
11 * */
12
13 package homework;
14
15 import java.util.Scanner;
16
17 public class _28 {
18
19 public static void main(String[] args) {
20 // 从键盘得到一个包含10个整数的数组
21 System.out.println("请输入一个包含10个整数的数组:");
22 Scanner sc = new Scanner(System.in);
23 int[] a = new int[10];
24 // 利用for循环将数字存入数组a[]中
25 for (int i = 0; i < a.length; i++) {
26 a[i] = sc.nextInt();
27 }
28 // //测试数组的数据 12 123 11 2 4 1 54 65 23 10
29 // for (int i = 0; i < a.length; i++) {
30 // System.out.print(a[i]+" ");
31 // }
32
33 int t; // 声明一个中间量,用于交换位置是临时储存
34 // 第一层,记录排序排到哪儿了
35 for (int i = 0; i < a.length; i++) {
36
37 // 第二层,遍历还需要排序的数
38 for (int j = 0; j < (a.length - 1); j++) { // a.length-1是因为判断大小时的需要(下面加1了)
39 if (a[j] > a[j+1]) { // 有小到大排列,若是由大到小则是<
40 // 交换位置
41 t = a[j];
42 a[j] = a[j+1];
43 a[j+1] = t;
44 }
45 // System.out.println(i+" "+j); //测试
46 }
47
48 }
49 for (int i = 0; i < a.length; i++) {
50 System.out.print(a[i] + " ");
51 }
52
53 }
54
55 }

java例题_28 冒泡排序的更多相关文章

  1. JAVA算法系列 冒泡排序

    java算法系列之排序 手写冒泡 冒泡算是最基础的一个排序算法,简单的可以理解为,每一趟都拿i与i+1进行比较,两个for循环,时间复杂度为 O(n^2),同时本例与选择排序进行了比较,选择排序又叫直 ...

  2. java算法之冒泡排序法

    由此可见:N个数字要排序完成,总共进行N-1趟排序,每第 i 趟的排序次数为 (N-i) 次,所以 可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数,即   for(inti=0;i& ...

  3. Java中的冒泡排序

    Java中的冒泡排序排序的第一种思想:将第一个值与后面的值相比较,如果第一个值比其他值小,那么将较大的值与第一个换位置,然后继续比较直至所有的数比较完成.这样就可以保证第一个数是最大数.然后将第二个数 ...

  4. Java 排序算法-冒泡排序及其优化

    Java 排序算法-冒泡排序及其优化 什么是冒泡排序 基本写法 优化后写法 终极版本 源码及测试 什么是冒泡排序 这里引用一下百度百科上的定义: 冒泡排序(Bubble Sort),是一种计算机科学领 ...

  5. Java基础(45):冒泡排序的Java封装(完整可运行)

    1.冒泡排序 package lsg.ap.bubble; import java.util.*; public class BubbleSort { public static void bubbl ...

  6. java 数组的冒泡排序

    冒泡排序 (1)冒泡排序算法的运作如下:(从后往前) 比较相邻的元素.如果第一个比第二个大,就交换他们两个. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对.在这一点,最后的元素应该会是最 ...

  7. 使用C语言和Java分别实现冒泡排序和选择排序

    经典排序算法--冒泡和选择排序法 Java实现冒泡排序 基本思想是,对相邻的元素进行两两比较,顺序相反则进行交换,这样,每一趟会将最小或最大的元素放到顶端,最终达到完全有序,首先看个动图: 我们要清楚 ...

  8. 面试 9:Java 玩转冒泡排序

    面试 9:用 Java 实现冒泡排序 南尘的朋友们,新的一周好,原本打算继续讲链表考点算法的,这里姑且是卡一段.虽然在我们 Android 开发中,很少涉及到排序算法,因为基本官方都帮我们封装好了,但 ...

  9. Python和Java分别实现冒泡排序

    1.基本思想 冒泡排序的基本思想是对比相邻的元素值.相邻元素值比较,如果满足条件两者就交换,把较小的移动到前面,把较大的移动到后面,这样较小的元素就像气泡一样浮上来了.可以看出,冒泡排序的每一次循环都 ...

随机推荐

  1. Design Patterns All in One (JavaScript Version)

    Design Patterns All in One (JavaScript Version) JavaScript 设计模式 JavaScript 数据结构 23种设计模式分为 3 大类: 创建型模 ...

  2. 如何在Python 中使用UTF-8 编码 && Python 使用 注释,Python ,UTF-8 编码 , Python 注释

    如何在Python 中使用UTF-8 编码 && Python 使用 注释,Python ,UTF-8 编码 , Python  注释 PIP $ pip install beauti ...

  3. 如何使用 js 实现一个树组件

    如何使用 js 实现一个树组件 tree component const arr = [ { id: 1, value: 1, level: 1, parentId: 0, }, { id: 2, v ...

  4. Expose Loader & shit jquery

    Expose Loader webpack https://github.com/xgqfrms/FEIQA/issues/31#issuecomment-418255126 require(&quo ...

  5. qt DateTime 计算时间

    qdatetime doc 获取当前时间 QDateTime t1 = QDateTime::currentDateTime(); qDebug() << t1.toString(&quo ...

  6. 使用控制台启动Android设备模拟器

    文档 > emulator -list-avds Nexus_5X_API_28_x86 Pixel_2_XL_API_28 > emulator.exe -avd Pixel_2_XL_ ...

  7. git配置了公钥,在下载项目时为什么还要输入密码

    配置git地址:https://www.cnblogs.com/lz0925/p/10794616.html 原文链接:https://blog.csdn.net/xiaomengzi_16/arti ...

  8. Mysql训练:两个表中使用 Select 语句会导致产生 笛卡尔乘积 ,两个表的前后顺序决定查询之后的表顺序

    力扣:超过经理收入的员工 Employee 表包含所有员工,他们的经理也属于员工.每个员工都有一个 Id,此外还有一列对应员工的经理的 Id. +----+-------+--------+----- ...

  9. 微信小程序:报错fail webview count limit exceed

    报错: 分析原因: 先从列表页面跳转到详细页面时,使用了Navigator标签,open-type默认使用的navigate,跳转时会保留当前页, <navigator class=" ...

  10. 2021-2-28:调用 System.gc() 后究竟发生了什么?

    首先,根据 DisableExplicitGC 这个 JVM 启动参数的状态,确定是否会 GC,如果需要 GC,不同 GC 会有不同的处理. 1. G1 GC 的处理 如果是 System.gc() ...