求大神帮我看下我的代码呗。输入完之后,没有任何输出。
我不知道哪里有问题。感觉都对啊。
用的是快速排序。
谢谢各位大神!
#include <stdio.h>
#include <stdlib.h>
void quicksort(int *a, int n, int left, int right);
int main()
{
int a[101];
int *p=a;
int n;
int i,j,t;
scanf("%d",&n);
for(i=0; i<n; i++){
scanf("%d", &a[i]);
}
quicksort(p,n,0,n);
printf("%d ",a[0]);
for(i=1; i<n; i++){
if(a[i]!=a[i-1]){
printf("%d ",a[i]);
}
}
getchar();
getchar();
return 0;
}
void quicksort(int *a, int n, int left, int right)
{
if(left>right){
exit(0);
}
int temp=a[left];
int i,j,t;
i=left;
j=right;
while(i!=j){
while(a[j]>=temp && i<j){
j--;
}
while(a[i]<=temp && i<j){
i++;
}
if(i<j){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
a[left]=a[i];
a[i]=temp;
quicksort(a,n,left,i-1);
quicksort(a,n,i+1,right);
}
|