快速排序是在等待排序的n個(gè)記錄中隨機(jī)取出一個(gè)元素作為基準(zhǔn),比基準(zhǔn)小的元素放到基準(zhǔn)左邊,比基準(zhǔn)大的放到基準(zhǔn)的右邊。
然后分別對(duì)基準(zhǔn)兩邊的子序列進(jìn)行上一步的操作。遞歸的進(jìn)行,直到排序完成。
可以設(shè)置兩個(gè)游標(biāo)分別對(duì)序列左右兩端的元素進(jìn)行跟蹤。以方便和基準(zhǔn)比較大小進(jìn)行移動(dòng)。
如圖所示,low 和 heigh分別代表序列的兩端。
設(shè)置兩個(gè)游標(biāo),初始值均放在兩端。
假設(shè)我們?nèi)〉?基準(zhǔn)元素就是該序列的最后一個(gè)元素 ,將其放在 一個(gè)臨時(shí)變量上 如:temp temp=4
游標(biāo) i 的作用自左向右移動(dòng),找出比基準(zhǔn)大的元素,