演算法之排序 交換排序(二)快速排序

2021-10-06 23:55:13 字數 575 閱讀 8339

快速排序是由氣泡排序改進而得,從無序序列中挑選乙個記錄作為中心記錄,將所有的數值與中心記錄進行比較大的放在中心值右邊,小的放入中心值左邊,然後再對中心值左右子串行進行相同操作

實現:

/**

* 快速排序

* @author 陳鑫

* */

public class quicksort

//將賦值到low位置的

arr[low] = arr[hight];

//從左開始找尋比中心值大的

while(low//將賦值到hight位置的

arr[hight] = arr[low];

} //中心值到位

arr[low] = key;

return low; }

public static int quick(int arr,int low,int hight)

return arr;

} public static void main(string args) ,0,9);

//遍歷列印

for(int j=0;j}}

排序演算法 交換排序之快速排序

和歸併排序一樣,快速排序也是一種分治的遞迴演算法。快速排序的思想是 選取乙個樞紐元,將比樞紐元小的元素放樞紐元前面,把比樞紐元小的元素放後面,然後將前面的集合,後面的集合,重複之前的步驟。樞紐元的選取是一門學問,我們要將樞紐元的盡量選取為集合中間值,使得樞紐元兩邊的元素量能更加均勻,避免大小不等的遞...

交換排序之快速排序

1.基本思想 假設要排序的陣列是array 0 array n 1 首先任意選取乙個資料 通常選用第乙個資料 作為關鍵資料,然後將所有比它的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。一趟快速排序的演算法是 1 設定兩個變數i j,排序開始的時候i 0,j n 1 2 以第...

交換排序之快速排序

問題及 檔名稱 main.cpp 作 者 徐群壯 完成日期 2015.12.15 版 本 號 v1.0 問題描述 資料結構例程 交換排序之快速排序 輸入描述 程式輸出 1.以第1個元素作為基準 include define maxsize 20 typedef int keytype 定義關鍵字型別...