(1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。
(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第 N-1个位置。
(3)N=N-1,如果N不为 0就重复前面二步,否则排序完成
public static void bubbleSort(int []a , int n ){
int i, j;
for(i=0;i<n;i++){ //表示n次排序过程。
for(j=1;j<n-i;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;
}
}
}
}
@Test
public void test1(){
int[] arr=new int[]{43,32,76,-98,0,64,33,77,-23,45,-78,33,66,99,33,76};
//冒泡排序
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i:arr){
System.out.print(i+" ");
}
}