簡單排序方法之冒泡排序,選擇排序,插入排序

一、冒泡排序
1、排序思想:每次相鄰的兩個數據進行比較,如果不符合排序規則,則兩個數進行交換,如果符合,則不交換,第一趟比較完畢,會出現最大或最小的數據在相應位置,依次類推,假設有n個待排列的數據,需要排列n-1趟。
例如:對一組數據32,34,18,14,86,45,69,20進行升序冒泡排序。
數據初始狀態 32,34,18,14,86,45,69,20
第一趟排序結果 32,18,14,34,45,69,20,86
第二趟排序結果 18,14,32,34,45,20,69,86
第三趟排序結果 14,18,32,34,20,45,69,86
第四趟排序結果 14,18,20,32,34,45,69,86
第五趟排序結果 14,18,20,32,34,45,69,86
第六趟排序結果 14,18,20,32,34,45,69,86
第七趟排序結果 14,18,20,32,34,45,69,86
2、算法實現:
在這裏插入圖片描述在這裏插入圖片描述
二、簡單選擇排序
1、排序思想:設所排序序列的記錄個數爲n。i取1,2,…,n-1,從所有n-i+1個記錄(Ri,Ri+1,…,Rn)中找出排序碼最小的記錄,與第i個記錄交換。執行n-1趟 後就完成了記錄序列的排序。
例如:對一組數據32,34,18,14,86,45,69,20進行升序選擇排序。
數據初始狀態 32,34,18,14,86,45,69,20
第一趟排序結果 14,32,34,18,86,45,69,20
第二趟排序結果 14,18,32,34,86,45,69,20
第三趟排序結果 14,18,20,32,34,86,45,69
第四趟排序結果 14,18,20,32,34,86,45,69
第五趟排序結果 14,18,20,32,34,86,45,69
第六趟排序結果 14,18,20,32,34,45,86,69
第七趟排序結果 14,18,20,32,34,45,69,86
2、算法實現:
在這裏插入圖片描述在這裏插入圖片描述
三、直接插入排序
1、排序思想:在一個已經排好序的記錄子集的基礎上,每一步將下一個帶排序的記錄有序地插入到已排好序的
記錄子集中,直到將所有的待拍序列全部插入爲止。
例如:對一組數據32,34,18,14,86,45,69,20進行升序直接插入排序。
數據初始狀態 32,34,18,14,86,45,69,20
第一趟排序結果 32,34,18,14,86,45,69,20
第二趟排序結果 18,32,34,14,86,45,69,20
第三趟排序結果 14,18,32,34,86,45,69,20
第四趟排序結果 14,18,32,34,86,45,69,20
第五趟排序結果 14,18,32,34,45,86,69,20
第六趟排序結果 14,18,32,34,45,69,86,20
第七趟排序結果 14,18,20,32,34,45,69,86
2、算法實現:
在這裏插入圖片描述
在這裏插入圖片描述
Ps:在三種排序方法中,冒泡排序算法效率最低,插入排序算法效率最高。

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