写出冒泡排序算法,冒泡算法java写法
来源: 知了汇智
发布:
知了小姐姐
发布时间:
2021-10-19
学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相关问题。
注:本文部分内容以及图片来源于网络,如网站发布的有关的信息侵犯到您的权益,请及时与我们取得联系删除