1. 程式人生 > >快速排序演算法歸納總結-java

快速排序演算法歸納總結-java

第一個分割槽函式

// arr[]為陣列,start、end分別為陣列第一個元素和最後一個元素的索引
 // povitIndex為陣列中任意選中的數的索引
int partition(int arr[], int start, int end, int pivotIndex)
{
    int pivot = arr[pivotIndex];
    swap(arr[pivotIndex], arr[end]);
    int storeIndex = start;
    //這個迴圈比一般的寫法簡潔高效,呵呵維基百科上看到的
    for(int i = start; i < end; ++i) {
        if
(arr[i] < pivot) { swap(arr[i], arr[storeIndex]); ++storeIndex; } } swap(arr[storeIndex], arr[end]); return storeIndex; }