冒泡排序分为从大到小排序和从小到大排序。下面通过例子介绍一下:
将数组的第一个值和第二个值比较,以此循环,达到排序的目的为止。
从大到小排序:
int arr[ ] = { -5, 29, 7, 10 ,5, 16 };
for ( int i = 1; i < arr.length; i++ ) { // 一层循环
for ( int j = 0 ; j < arr.length-i ; j++ ) { //二层循环
if ( arr [ j ] < arr [ j+1 ] ){ //当第一个角标的值小于第二个角标的值时,就进入下面的方法
int temp = arr [ j ] ; // 定义int变量,将小的角标值赋给变量
arr [ j ] = arr [ j+1 ] ; //将大的值覆盖小的值
arr [ j + 1 ] = temp ; //将上面定义Int变量的值还原
}
}
}
从小到大排序:
int arr[ ] = {-5, 29, 7, 10, 5, 16};
for (int i = 1; i < arr.length ; i++ ) {
for (int j = 0; j < arr.length-i; j++) {
if(arr[ j ] > arr [ j+1 ] ) { // 只需要改变一个符号,
int temp = arr[ j ];
arr[ j ] = arr[ j+1 ] ;
arr[ j+1 ] = temp ;
}
}
}