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. 使用 js 实现十大排序算法: 计数排序

    使用 js 实现十大排序算法: 计数排序 计数排序 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  2. API 授权 All In One

    API 授权 All In One 身份验证 授权类型 身份验证类型 继承认证 没有认证 API密钥 不记名令牌 基本认证 摘要授权 OAuth 1.0 OAuth 2.0 授权码 隐含的 密码凭证 ...

  3. Open Collective

    Open Collective Open Collective is an online funding platform for open and transparent communities. ...

  4. convert number or string to ASCII in js

    convert number or string to ASCII in js ASCII dictionary generator // const dict = `abcdefghijklmnop ...

  5. Angular Learning Paths

    Angular Learning Paths Angular Expert refs https://app.pluralsight.com/search/?q=angular xgqfrms 201 ...

  6. HTTP/HTTPS Proxy & Charles

    HTTP/HTTPS Proxy & Charles Charles https://www.charlesproxy.com/ https://www.jianshu.com/p/53d2c ...

  7. 同步vscode的setting.json和extensions

    vc 详情 $ npm i -g vscode-config $ vc config --token <your github token> $ vc config --id <yo ...

  8. Baccarat流动性挖矿是如何改进自动化做市商的痛点的?

    Baccarat自上线至今已经有两个多月的时间,尤其代币BGV引来了无数投资者的注意.同时也有越来越多的投资者开始关注到Baccarat本身,Baccarat采取的AMM机制,与其他的DeFi项目所采 ...

  9. hadoop支持lzo完整过程

    简介 启用lzo 启用lzo的压缩方式对于小规模集群是很有用处,压缩比率大概能降到原始日志大小的1/3.同时解压缩的速度也比较快. 安装lzo lzo并不是linux系统原生支持,所以需要下载安装软件 ...

  10. javascript 十大经典排序

    首先生成一个数字数组: let arr = Array.from({length:20},x=>{return Math.ceil(Math.random()*10**2)}) console. ...