快速排序例項

2021-08-01 14:39:25 字數 869 閱讀 4493

快速排序是根據待排序陣列中的某一值val,將待排序陣列分割成兩部分資料,前一部分陣列比val小

,後一部分陣列比val大,之後對每部分資料重複上述過程,最終實現待排序陣列的有序性,例項如下:

public class quicksortmain 

/*** 切分待排序陣列

*@param

arr*

@param

low*

@param

high

*@return

*/static int

split(int arr, int low, int high)

arr[low] = key;

return low;

} /**

* 遞迴切分資料

*@param

arr*

@param

low*

@param

high

*/static void

sort(int arr, int low, int high)

}static void

sort(int arr)

static void

sort() ;

sort(arr);

system.out

.println(arrays.tostring(arr));

}}

快速排序例項

include stdafx.h include define cutoff 3 int array void insert sort int array,int size array j temp print array array,size void print array int array,...

快速排序例項

void sort int a,int left,int right int i left int j right int key a left while i a i a j 找到乙個這樣的數後就把它賦給前面的被拿走的我的值 如果第一次迴圈且鍵是 乙個 左 那麼就是給金鑰 while i a i ...

快速排序演算法例項

對關鍵碼序列 66,13,51,76,81,26,57,69,23 進行快速排序。求第一趟劃分後的結果。關鍵碼序列遞增。以第乙個元素為劃分基準。將兩個指標i,j分別指向表的起始和最後的位置。反覆操作以下兩步 1 j逐漸減小,並逐次比較j指向的元素和目標元素的大小,若p j 2 i逐漸增大,並逐次比較...