C++ 快排怎么做
答案:2 悬赏:0 手机版
解决时间 2021-03-17 15:50
- 提问者网友:未信
- 2021-03-16 17:34
C++ 快排怎么做
最佳答案
- 五星知识达人网友:北城痞子
- 2021-03-16 19:07
int partition(int a[], int left, int right, int pivotIndex)
{
int pivot = a[pivotIndex];
do
{
while (a[left] < pivot) left++;
while (a[right] > pivot) right--;
if (left < right && a[left] != a[right])
{
swap(a[left], a[right]);
}
else
{
return right;
}
}
while (left < right);
return right;
}
void quicksort(int a[], int left, int right)
{
if (left < right)
{
int pivot = (left + right) / 2; // middleint pivotNew = partition(a, left, right, pivot);
quicksort(a, left, pivotNew - 1);
quicksort(a, pivotNew + 1, right);
}
}
{
int pivot = a[pivotIndex];
do
{
while (a[left] < pivot) left++;
while (a[right] > pivot) right--;
if (left < right && a[left] != a[right])
{
swap(a[left], a[right]);
}
else
{
return right;
}
}
while (left < right);
return right;
}
void quicksort(int a[], int left, int right)
{
if (left < right)
{
int pivot = (left + right) / 2; // middleint pivotNew = partition(a, left, right, pivot);
quicksort(a, left, pivotNew - 1);
quicksort(a, pivotNew + 1, right);
}
}
全部回答
- 1楼网友:忘川信使
- 2021-03-16 19:45
看数据结构书籍或者网上下载代码
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯