快速排序思想:
1、首先在一組待排序的元素中找到一個基準數(一般用第一個)
2、然后用兩個游標分別指向第一(最左)和最后位置(最右)的元素
3、左邊游標向右遍歷查找第一個小于基準數的元素,右邊游標向左遍歷查找第一個大于基準數的元素
4、找到后如果左游標小于右游標則交換這兩個元素,然后繼續這個步驟。
5、找到后如果左游標大于等于右游標后則完成此次查找并且把基準數和右游標指向的元素交換位置
6、此時基準數的右側元素都大于它左側都小于它。
7、基準數把元素一分為二,然后再對左右兩個子組合遞歸執行1~5的步驟最后完成排序。
當兩個子數組都有序時整個數組自然就有序了,快速排序是一種分治的排序算法。
代碼實現(圖quick sort00)
quicksort00