排序算法:冒泡排序

算法應該是理解錯了,看到了更形象的動態圖才恍然大悟,於是稍微修改下下,原本是要插入排序的,以下的看來更像是冒泡排序,循環的比較相鄰的倆數

public class Test {

//冒泡排序

public static int[] insertionSort(int[] a,int r){

//

int key;//聲明關鍵指

for(int i=0;i<r-1;i++){

if(a[i]>a[i+1]){//比較相鄰元素值,按照大小交換

key=a[i];

a[i]=a[i+1];

a[i+1]=key;

}

//System.err.println(a.length-r+"輪:第"+(i+1)+"次結果");

//pArray(a);

}

r--;//以上已將數組最大值放置數組尾部

if(r>0){

insertionSort(a, r);//數組除最後一位剩餘部分進行新一輪的排序

}

//終止排序返回結果

return a;

}

public static void main(String[] args) {

int[] a={2,12,13,1,3,4,6,5,7,8,10,11};

pArray(a);

pArray(insertionSort(a,a.length));

}

//打印數組元素爲了查看結果

public static void pArray(int[] a){

for(int i:a){

System.out.print(i+",");

}

System.out.println();

}

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章