1、氣泡排序,原理:依次比較相鄰的兩個值,如果後面的比前面的小,則將小的元素排到前面。依照這個規則進行多次並且遞減的迭代,直到順序正確。
因為是兩個相鄰的數進行比較,剛開始進行第一輪比較時總共進行6次比較,為陣列長度減一。經過第一輪的比較能夠將陣列中最大的那個數找出且放到最後一位,此時進行第二輪比較原理與上一次一樣,但是此時已經找出原陣列的最大值,因此比較時只需要將前面的數值進行比較就行,陣列比較的個數減一,比較次數減一。
因此**中第乙個迴圈為需要比較的輪數,第二個迴圈為每次兩個相鄰數的比較。
2、選擇排序
原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然後,再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。以此類推,直到所有元素均排序完畢。(簡單說就是從未排序的裡面找到最小值往前放)
根據原理可以知道比較時為為排序序列中第乙個跟後面的進行比較。第一次是即arr[0]跟後面的比較,最後一次為arr[arr.length-1]跟後面的比較。所以第乙個for迴圈就是比較的次數,第二個for迴圈為未排序序列裡面的數跟第乙個比較。
3、插入排序
原理:通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。
4、快速排序
原理:從陣列的中間拿乙個值,然後通過這個值挨個和陣列裡面的值進行比較,如果大於的放一邊,小於的放一邊,然後把這些合併,再進行比較,如此反覆即可。
幾種常用的排序方法
幾種常用的排序方法 1.氣泡排序 氣泡排序演算法的運作如下 比如按從小到大排列 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作第一步中的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的...
幾種常用的排序方法7 希爾排序
希爾排序 希爾排序又稱為縮小增量排序,它是直接插入排序的一種改進,它的基本思想是 將整個待排記錄序列分割成若干個子串行,然後分別對子序列進行直接插入排序,待整個序列中的記錄基本有序時,再對全體記錄進行直接插入排序。上面是資料結構數上話,看起來很繞人,其實很簡單,就是一種插入排序,只是如何選取子數列 ...
幾種常用的排序方法6 計數排序
計數排序 計數排序不同於前面所有的排序,它並不是一種比較排序。計數排序假設輸入元素中每乙個都是介於0到k之間的整數,計數排序執行時間是o n 計數排序的基本思想是 對每乙個輸入的元素x,統計出小於x的元素個數,然後可以把x直接放到輸出陣列中。例如有5個元素小於x,那麼x就是陣列中第6個元素b 5 1...