冒泡排序算法的运作如下:
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
- 针对所有的元素重复以上的步骤,除了最后一个。
- 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
晒上我的实现:
private void popSort(int[] x){
//外层循环只是个计数的作用 因为每次内循环第j 和j+1的元素比较后 都会把本次循环后最大的数
//放在最后 所以最后那个值在下一次循环的时候就没必要比较了
for(int i = 0 ;i<x.length;i++){
//每一次都从第一个元素开始 和自己后面的元素比较一下 如果非顺序 交换一下
for(int j = 0 ;j<x.length-1-i;j++){
if(x[j]>x[j+1]){
swap(x,j,j+1);
}
}
}
}
private void swap(int[] x,int i,int j){
int tem = x[i];
x[i] = x[j];
x[j] = tem;
}