演算法思路:
重複走訪每兩個相鄰元素,比較大小交換位置,直至排序完成。
性質:
氣泡排序是一種原地排序(只有常數個元素存到陣列以外的空間),最壞的時間複雜度,和平均時間複雜度都是
n2。冒泡法是穩定的
。。*注:
氣泡排序是演算法入門級別,是面試筆試時候的禁術,古往今來死在冒泡法上的應屆生真可謂前仆後繼...
**:
int bubblesort1(inta) }}
return
a; }
改進:
因為冒泡法會機械而重複的完成所有比較,比如對{10,1,2,3,4,5,6}這個陣列的排序,實際上第一輪過後,就已經排好了,但程式還是把沒有意義的比較進行到底。。。
於是可以加乙個開關變數,在某一輪沒有發生交換的情況下,結束排序,如下:
int bubblesort2(inta)
}if (isover) break; //
沒有發生交換則結束
}
return
a; }
秒懂的shell程式設計陣列與冒泡演算法排序詳解
四 冒泡演算法排序 方法1 陣列名 value0 value1 value2 方法2 陣列名 0 value 1 value 2 value 方法3 列表名 value0 value1 value2 陣列名 列表名 方法4 陣列名 0 value 陣列名 1 value 陣列名 2 value 獲取...
排序演算法(一)氣泡排序演算法1
1 氣泡排序的概念網上一大堆,這裡也就不複製了。下面主要是我的一些理解,算是在此做個筆記吧!2 冒泡 是乙個很形象的比喻,下面先看一段簡單的 intnnum intncount sizeof nnum sizeof nnum 0 intnmax nnum 0 for inti 1 i 這段 很簡單,...
一種快速排序演算法
using system class program for int l 0 l src.length l src count temp l i 3 0xff temp l static void main string args watch.stop console.writeline quick...