void quick_sort(int *a, int beg, int rear);沒有數組b的事。
我也不是算法大神哈,妳的這種實現我還真的沒有見過,而且妳的代碼也帶亂套了,quick函數裏面的變量定義了還沒初始化怎麽就用上了?我是說變量i;
我見過的快排都是要分治,遞歸調用partition函數
void quick_sort(int *a, int p, int r)
{
if (p<r) {
int q = partition(a, p, r);//求出來a[r]的位置,然後遞歸調用quick_sort;
quick_sort(a, p, q-1);
quick_sort(a, q+1, r);
}
}
快排的源碼很多妳可以上網搜壹下,我覺得不是原地排序的快排應該意義不大吧?僅供參考哈