冒泡排序

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36146261/article/details/79977250
public static void main(String[] args) {
int[] arrs = {100,3,4,7,8,1,12,56,45,37};
bubbleSort3(arrs,arrs.length);
for (int i : arrs) {
System.out.print(i+" ");
}

}

public static void bubbleSort3(int [] a, int n){
   int j , k;
   int flag = n ;//flag来记录最后交换的位置,也就是排序的尾边界

   while (flag > 0){//排序未结束标志
       k = flag; //k 来记录遍历的尾边界
       flag = 0;

       for(j=1; j<k; j++){
           if(a[j-1] > a[j]){//前面的数字大于后面的数字就交换
               //交换a[j-1]和a[j]
               int temp;
               temp = a[j-1];
               a[j-1] = a[j];
               a[j]=temp;

               //表示交换过数据;
               flag = j;//记录最新的尾边界.
           }
       }
   }
}
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页