快速排序思想:
1、首先在一組待排序的元素中找到一個(gè)基準(zhǔn)數(shù)(一般用第一個(gè))
2永毅、然后用兩個(gè)游標(biāo)分別指向第一(最左)和最后位置(最右)的元素
3、左邊游標(biāo)向右遍歷查找第一個(gè)小于基準(zhǔn)數(shù)的元素,右邊游標(biāo)向左遍歷查找第一個(gè)大于基準(zhǔn)數(shù)的元素
4混槐、找到后如果左游標(biāo)小于右游標(biāo)則交換這兩個(gè)元素,然后繼續(xù)這個(gè)步驟轩性。
5声登、找到后如果左游標(biāo)大于等于右游標(biāo)后則完成此次查找并且把基準(zhǔn)數(shù)和右游標(biāo)指向的元素交換位置
6、此時(shí)基準(zhǔn)數(shù)的右側(cè)元素都大于它左側(cè)都小于它炮姨。
7捌刮、基準(zhǔn)數(shù)把元素一分為二,然后再對(duì)左右兩個(gè)子組合遞歸執(zhí)行1~5的步驟最后完成排序舒岸。
當(dāng)兩個(gè)子數(shù)組都有序時(shí)整個(gè)數(shù)組自然就有序了绅作,快速排序是一種分治的排序算法。
代碼實(shí)現(xiàn)(圖quick sort00)