Java算法-冒泡排序算法
原理
- 比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。
- 这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1 个位置。
- N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成。
代码
/**
* @Param int[] array
* @return int[] array
* @DateTime 2022/3/20 1:21
* @Description: 冒泡排序算法
* a,通过比较前后两个相邻的数如果前面的数大于后面的数就交换
* b,从数组下标为0开始到n-1进行一次遍历后,这样数组的最大的数就沉到了n-1的位置上
* c,如果n=n-1,n!=0就重复以上操作
**/
public int[] bubbleSort(int[] array){
//判断是否交换过
boolean isChange=false;
for (int i=array.length-1;i>=0;i--){
for (int j=0;j<i;j++){
if(array[j]>array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
isChange =true;//表示已经交换过
}else {
isChange =false;//表示未交换过
}
}
System.out.println("i="+i+"==>"+ Arrays.toString(array));
if(isChange==false){
break;
}
}
return array;
}
阅读剩余
版权声明:
作者:涛哥
链接:https://ltbk.net/back/java/algorithm/article/601.html
文章版权归作者所有,未经允许请勿转载。
作者:涛哥
链接:https://ltbk.net/back/java/algorithm/article/601.html
文章版权归作者所有,未经允许请勿转载。
THE END