冒泡排序

從第一個開始,第一個與第二個比較,第二年與第三比較,在交換順序(最終最後一個就是最大或者最小的),即每次比較一輪都會把一個元素排列好,共需要n-1次比較,即爲有序的,只需要一個額外的存儲空間,共需要比較 0+1+2+...+(n-1)即可完成比較,所以爲1/2(n(n-1))次比較,所以時間複雜度爲O(n2) ;附上java的實現;


int[] source;//
for (int i = 0; i < length-1; i++) {//共進行n-1躺排序
   for (int j = 0; j < length - i-1; j++) {//每次比較前一個與後一個的
if(source[j]<source[j+1]){//交換排序 
temp = source[j];
source[j]= source[j+1];
source[j+1] = temp;
}
   }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章