排序算法之冒泡排序
冒泡排序是一种简单的排序方法,它使用一种“冒泡策略”把最大的元素移到序列的最右端。在一次冒泡的过程中,相邻元素比较。如果左边的元素大于右边的元素,则交换。如下图所示,(b)显示了一次冒泡排序的过程,6,5比较,交换,继而比较6,8,依次执行,一次冒泡过程结束后,当前序列最大的元素肯定在最右端。
下面的程序中函数bubble是对数组A[0:n-1]的一次冒泡过程,其中元素比较次数是n-1。
//冒泡排序
public void sortIntegers(int[] A) {
// Write your code here
int n=A.length;
for(int j=n;j>1;j--){
bubble(A,j);
}
}
//一次冒泡的过程
public void bubble(int[] a,int n){
for(int i=1;i<n;i++){
if(a[i-1]>a[i]){
//swap(a[i-1],a[i]);
int q=a[i-1];
a[i-1]=a[i];
a[i]=q;
}
}
}