#include
#include
int index(int *array,int left,int right)
while(array[left] <= *flag && left < right)
if(left < right)
}/*下面**塊,交換參考值與索引處的數值,使得做不得數值都小於索引值,右邊的資料 都大於索引值*/
temp = array[left];
array[left] = *flag;
*flag = temp;//開始時寫成了flag,必須用指標才可以。
return left;
}void sort(int *array,int left,int right)
}int main()//測試驅動
;int i = 0;
sort(array,0,21);
for(;i < 22; i++)
return 0;
}
快速排序演算法實現
快速排序演算法的原理 將數列中任取乙個數,將其左部放置比其小的數,其右部放置比其大的數。然後,對其左,右部遞迴執行這種分割過程。原始碼如下 int32 sorteddata int32 quicksort int32 sortdata,dword sortdatalen assert sortdat...
快速排序演算法實現
學完了快速排序演算法,感覺挺容易的,所以趁著有點時間就寫了個實現程式。採用了介面和實現分離的原則 qsort.h inte ce of the quick sort define num 2000 設定最多個數為1999個 class qsort qsort.cpp include qsort.h ...
快速排序演算法實現
本程式是對快速排序演算法的實現,一次while 1 都將要比較的元素存入flag中,依次將比flag小的元素放在左邊,比flag大的元素放在右邊,然後用遞迴的方法,將flag左右兩邊的元素分別快速排序操作。本程式為了方便測試,所以使用者只要輸入元素個數,程式就會隨機生成相應元素個數的陣列,並自動對其...