写出冒泡排序算法,冒泡算法java写法

学java的人一定听过冒泡算法,简直是程序员之基础算法。一起来写出冒泡算法,冒泡算法java写法。
冒泡算法是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
写出冒泡排序算法,冒泡算法java写法
冒泡排序的基本思路为:
设数组的长度为N,比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。N=N-1,如果N不为0就重复前面二步,否则排序完成。
public static void test(int [] a, int n){
    int j, k = n;
boolean flag = true;
    while (flag){
        flag=false;        for(j=1; j<k; j++){
            if(a[j-1] > a[j]){
                int temp;
                temp = a[j-1];
                a[j-1] = a[j];
                a[j]=temp;
          flag = true;
            }
        }
        k--;
    }
}
以上是在最基础的冒泡算法的基础上进行优化得出的第二版,如果对于一个本身有序的序列,或则序列后面一大部分都是有序的序列。这里设置一个标志flag,如果这一趟发生了交换,则为true,否则为false。明显如果有一趟没有发生交换,说明排序已经完成,可以节省很多时间。
写出冒泡排序算法,冒泡算法java写法。关注知了堂成都java培训机构,带你了解更多java相关问题。

注:本文部分内容以及图片来源于网络,如网站发布的有关的信息侵犯到您的权益,请及时与我们取得联系删除



热门课程

免费试听

上课方式

开班时间

实战教学·项目驱动

开班计划中
  • 网络安全

    04月22日

  • 安全服务

    04月22日

  • 鸿蒙认证

    04月22日

24小时报名热线

177 1362 3990

预约试学