快速排序是由氣泡排序改進而得,從無序序列中挑選乙個記錄作為中心記錄,將所有的數值與中心記錄進行比較大的放在中心值右邊,小的放入中心值左邊,然後再對中心值左右子串行進行相同操作
實現:
/**
* 快速排序
* @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 定義關鍵字型別...