快速理解資料結構之快速排序

2021-09-13 01:10:06 字數 903 閱讀 3781

前段時間一直在學習資料結構,在看快排時會有點小困難,不知有沒有小夥伴跟我一樣笨呢!

不過幸好檢視完在各大資料後理解了!

接下來講下快速理解的方法,希望對初學懵懂者有用!

[4、2、3、1、6、7、10、8]

1.最先開始要找乙個為基準,這個基準是最後才放進去的,是先儲存到乙個指標裡面,一般是找第乙個數為基準,即4

[4、2、3、1、6、7、10、8]4

2.可以在原始碼中看到,快速排序選完基準後是要讓這個數的右邊全部大於這個數,而左邊全部小於這個數,這個演算法的思想是提供了兩個指標,規定剛開始乙個指標指向頭,乙個指標指向尾,即指向4和8。

| (頭指標)                     

|(尾指標)

[4、2、5、1、6、7、10、8]4

|(基準)

3.先從尾指標開始從右往左第乙個找比基準4小的元素,然後把這個元素放到基準的位置,自行手動後可得出下面結果:

|                 |

[1、2、5、   、6、7、10、8]4|

然後從頭指標開始從左往右找出第乙個比基準4大的元素,然後把這個元素放到基準的位置,自行手動後可得出下面結果:||

[1、2、    、5、6、7、10、8]4|

當發現頭指標尾指標重疊時,好,第一趟快速排序結束,其結果為:

[1、2] 4 [5、6、7、10、8]

這樣第一趟排序的基準 4 就左邊全部小於4,右邊全部大於4了

然後4的左邊和右邊分別進行快速排序

然後一趟一趟下來後就排序完成了

希望大家動手模擬一下以方便快速理解

快速了解資料結構

集合結構 集合結構的集合中任何兩個資料元素之間都沒有邏輯關係,組織形式鬆散。線性結構 資料結構中線性結構指的是資料元素之間存在著 一對一 的線性關係的資料結構。樹狀結構 樹狀結構是乙個或多個節點的有限集合 網路結構 網路結構是指通訊系統的整體設計,它為網路硬體 軟體 協議 訪問控制和拓撲提供標準。它...

資料結構之快速排序

3.編寫乙個快速排序的演算法,並且在main函式中驗證其功能已實現 快速排序 quick sort 又稱劃分交換排序,基本思想 在待排序的n 個記錄中記錄中任取乙個作為 基準 將其餘記錄分為兩組,第一組中 各記錄的鍵值均小於或等於基準的鍵值,第二組中各記錄的鍵值均大於 或等於基準的鍵值,而基準就排在...

資料結構之快速排序

旁白 演算法小白白一枚,突然要掌握演算法。花廢了2個小時把一些基本的知識掌握。包括偽 書寫規則 演算法設計技術和時間複雜性的計算弄清楚。本打算用本子做筆記,一想發現沒筆 沒本子,這對本在疫情被困在家的我來說是一筆 鉅額 所以想到寫部落格,一方面剛接觸感覺有點意思,另一方面當做筆記隨時可以複習看看 廢...