冒泡排序也可以称石沉大海法,是目前最基础的集中排序算法之一,总体过程可由以下图概括
那么如何用代码来实现这一趟冒泡排序呢
for(int i=0;i<j-1;i++){//一趟冒泡排序
if(array[i]>array[i+1]){
int tmp=array[i];
array[i]=array[i+1];
array[i+1]=tmp;
}
}
以上就是一趟冒泡排序,作用就是做这样一趟冒泡排序就可以将最大的数放在数组的最后,如何将一整个数组排好序呢,只需要一次将最大的一个往后放即可,我是直接在一趟冒泡排序前加一次循环,但这个排序有很多种解法,我写了最简单的,也就是在上面的一趟排序加以下语句
for(int j=n;j>=1;j--)//做n-1趟排序
完整代码如下
public static void bubleSort(int[] array,int n){
for(int j=n;j>=1;j--)//做n-1趟排序
for(int i=0;i<j-1;i++){//一趟冒泡排序
if(array[i]>array[i+1]){
int tmp=array[i];
array[i]=array[i+1];
array[i+1]=tmp;
}
}
}