快速排序是對冒泡法排序的一種改進。
快速排序算法 的基本思想是:將所要進行排序的數分為左右兩個部分,其中一部分的所有數據都比另外一 部分的數據小,然后將所分得的兩部分數據進行同樣的劃分,重復執行以上的劃分操作,直 到所有要進行排序的數據變為有序為止。
可能僅根據基本思想對快速排序的認識并不深,接下來以對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],以后 主站蜘蛛池模板: 彝良县| 桦甸市| 忻城县| 广昌县| 抚远县| 云霄县| 东台市| 巩留县| 新余市| 卢龙县| 罗山县| 荔波县| 陇西县| 日喀则市| 句容市| 进贤县| 西峡县| 西丰县| 迁西县| 南召县| 沙雅县| 佛冈县| 蒙阴县| 图木舒克市| 舟山市| 洪雅县| 修水县| 溧水县| 安陆市| 宜黄县| 敦化市| 遂溪县| 乳山市| 濮阳市| 吴江市| 沈丘县| 宁强县| 庆元县| 通河县| 双鸭山市| 锦州市|