1.冒泡排序
// 优化的冒泡: 若某一趟外排序结束后发现数组元素没有交换;
// 则说明已经是有序的,我们就不需要再继续排序了结束整个排序
public int[] bubbleSort(int[] a){
int temp;
boolean flag;
one:for (int i=1;i<a.length;i++){//从0开始就是<a.length-1
flag=false;
for(int j=0;j<a.length-i;j++){
//每趟排序总能找到最大或者最小 所以我们让j<a.length-i,就不用和每次排好的那个再进行比较了
if (a[j]>a[j+1]){
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
flag=true;//若有交换 赋值true 继续排序
}
}
//说明某一趟排序结束没有发生交换
if(flag==false){
break one;//结束整个排序
}
}
return a;
}
冒泡排序-JAVA代码
最新推荐文章于 2024-07-24 19:27:00 发布