快速排序是對冒泡法排序的一種改進。
1 排序思想:
通過一趟排序,將待排序記錄分割成獨立的兩部分,其中一部分記錄的關鍵字均比另一部分記錄的關鍵字小;再分別對這兩部分記錄進行下一趟分割排序,以達到整個序列有序,重復執行以上的劃分操作,直 到所有要進行排序的數據變為有序為止。
可能僅根據基本思想對快速排序的認識并不深,接下來以對n個無序數列A[0], A[1]…, A[n-1]采用快速排序方法進行升序排列為例進行講解。
(1)定義兩個變量low和high,將low、high分別設置為要進行排序的序列的起始元素和最后一個元素的下標。第一次,low和high的取值分別為0和n-1,接下來的每次取值由劃分得到的序列起始元素和最后一個元素的下標來決定。
(2)定義一個變量key,接下來以key的取值為基準將數組A劃分為左右兩個部分,通 常,key值為要進行排序序列的第一個元素值。第一次的取值為A[0],以后
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈