栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

冒泡排序实例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

冒泡排序实例

冒泡排序:
对于一组要排序的元素列,依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面,如此继续,直到比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成。

public class MaoPao {
    @Test
    public void testMao(){
      int[] arr1={19,85,5,32,4,56,20};
      int index=arr1.length;
      //记录目前序列是否已经是有序的
      boolean so;
      //记录经历了几轮,排序完成
      int round=0;
        for (int j = 1; j < index; j++) {
            //初始化为true
            so=true;
            for (int i = 0; i < index-1; i++) {
                if(arr1[i]>arr1[i+1]) {
                    //只要进入if就代表当前轮次不是有序的
                    so=false;
                    //交换数据
                    int tmp=arr1[i];
                    arr1[i]=arr1[i+1];
                    arr1[i+1]=tmp;
                    
                }else if(i==index-2){//当一轮排序结束,最高位就是最大值,需要排除在排序外
                 index--;
                }
            }
            if(!so)
            round++;
            else break;
        }
        System.out.println("总轮次"+round);
        for (int j : arr1) {
            System.out.println(j);
        }
    }
}
-------------------------------------------------------------
结果:
总轮次4
4
5
19
20
32
56
85
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号