隨筆 go語言版快速排序

2021-06-26 06:15:39 字數 673 閱讀 1340

快速排序對於乙個合格的程式設計師來說都是基礎,不管你工作中會不會用到,它的思想都是很值得我們學習的。我就是由於對它的思想掌握不是很透徹死在tx二面,往事不要再提,吃一塹長一智,趁還來來得及補救加油吧!

快排的思想其實說起來也不是很難,我這裡就簡單說一下。而且這篇東西並不是講演算法的,只是隨手寫了個go語言版的,放在這裡便於自己整理而已。

從小到大···從大到小自己反過來就行了

1、從陣列中選取乙個數,稱它為標準數吧;

2、將陣列中其他的數,比標準數小的移到標準數的左邊,比校準數大的移到標準數的右邊;

3、分治陣列,就是將陣列以標準數分兩個陣列再進行1、2步操作。

如果還想更詳細了解它的細節的話,參考這篇部落格,講得很通俗

我下面的**也是參考這篇部落格的風格的。就醬···上**

func adjustarray(array int, left, right int) 

if i < j

for i < j && array[i] < x

if i < j

} array[i] = x

adjustarray(array, left, i-1)

adjustarray(array, i+1, right) }}

func quicksort(array int)

快速排序Qsort C語言版

快速排序 quicksort 是分治法的典型例子,它的主要思想是將乙個待排序的陣列以陣列的某乙個元素x為軸,使這個軸的左側元素都比x小,而右側元素都比x大 從小到大排序 然後以這個x在變換後陣列的位置i分為左右兩個子陣列,再分別進行快速排序,直到子陣列中只有乙個元素為止。分治法將原有問題分解成若干個...

快速排序(QuickSort) C語言版

include include define maxsize 20 順序表的最大長度 typedef int keytype 定義關鍵字型別為整數型別 typedef struct redtype 記錄型別 typedef struct sqlist 順序表型別 quicksort int part...

快速排序 QuickSort C語言版

快速排序的核心在於分治.分治演算法 1.認定只有乙個元素或沒有元素的陣列是有序的.2.將陣列按照乙個分界值分為左右兩部分.左面所有元素值比分界值小,右面所有元素值比分界值大或等於.3.將左右兩部分分別再分治,直到要分支的部分只有乙個元素或沒有元素,那麼整個陣列就是有序的了.部落格 include i...