當前位置:編程學習大全網 - 網站源碼 - 懂C++的請進,有關於快速排序的疑問

懂C++的請進,有關於快速排序的疑問

quick(a,b,1,n);//快排是原地排序,為什麽妳的原數組是a,妳要再開辟壹個b數組?要我說,最簡單的函數原型應該是:

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);

}

}

快排的源碼很多妳可以上網搜壹下,我覺得不是原地排序的快排應該意義不大吧?僅供參考哈

  • 上一篇:微信群淘寶購物返紅包_抖音小店拼單返利平臺
  • 下一篇:龍芯為什麽采用了mips指令集,而沒有使用arm指令集
  • copyright 2024編程學習大全網