[問題] 關於印出quick sort排序後的結果
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 10
int Partition(int[], int, int);
void quickSort(int[], int, int);
int main(void) {
srand(time(NULL));
int A[MAX] = {0};
printf("排序前:");
int i;
for(i = 0; i < MAX; i++) {
A[i] = rand() % 100;
printf("%d ", A[i]);
}
quickSort(A, 0, MAX-1);
printf("\n排序後:");
for(i = 0; i < MAX; i++)
printf("%d ", A[i]);
printf("\n");
return 0;
}
void quickSort(int A[], int p, int r){
if(p<r){
int q = Partition(A, p, r);
quickSort(A, p, q-1);
quickSort(A, q+1, r);
}
}
int Partition(int A[], int p, int r){
int j, temp;
int x = A[r];
int i = p -1;
for(j = p;j<r;j++){
if(A[j]<= x)
{
i++;
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
}
temp = A[r];
A[r] = A[i +1];
A[i+1] = temp;
return i+1;
}
以上是我寫的Quiclsort的CODE,我用DEV跑的
但是卻沒辦法跑出視窗來印出排序,請各位前輩幫我看看有哪些錯誤要改正
,以及怎樣改正!!請前輩們不吝指教,謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.212.188
推
03/24 07:06, , 1F
03/24 07:06, 1F
※ 編輯: kiyasuto1 來自: 114.36.212.188 (03/24 07:19)
→
03/24 07:21, , 2F
03/24 07:21, 2F
→
03/24 07:21, , 3F
03/24 07:21, 3F
→
03/24 07:31, , 4F
03/24 07:31, 4F
推
03/24 16:24, , 5F
03/24 16:24, 5F
→
03/24 16:32, , 6F
03/24 16:32, 6F
→
03/24 18:23, , 7F
03/24 18:23, 7F
→
03/24 19:58, , 8F
03/24 19:58, 8F
→
03/26 23:54, , 9F
03/26 23:54, 9F