Jin*_*rge -1 c sorting quicksort
这个快速排序代码出了什么问题我输出错误输出:
#include<stdio.h>
void quick_sort(int A[], int start, int end) {
int pIndex;
if (start < end) {
pIndex=partion(A,start,end);
quick_sort(A,start,pIndex-1);
quick_sort(A,pIndex+1,end);
}
}
int partion(int A[], int start, int end) {
int i, temp, pIndex = start;
int pivot = A[end];
for (i = start; i < end; i++) {
if (A[i] <= pivot) {
temp = A[i];
A[i] = A[pIndex];
A[pIndex] = A[i];
pIndex++;
}
}
temp = A[pIndex];
A[pIndex] = A[end];
A[end] = temp;
return pIndex;
}
int main() {
int A[100], size, i;
scanf("%d\n", &size);
for (i = 0; i < size; i++) {
scanf("%d", &A[i]);
}
quick_sort(A, 0, size-1);
for (i = 0; i < size; i++) {
printf("%d\t", A[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到以下输入错误的输出: 输出
我该怎么做才能按升序排序
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |