啊哈磊_编程从这里起步

标题: 小哼买书 [打印本页]

作者: 不难不难    时间: 2017-5-7 19:15
标题: 小哼买书
求大神帮我看下我的代码呗。输入完之后,没有任何输出。
我不知道哪里有问题。感觉都对啊。
用的是快速排序。
谢谢各位大神!

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


作者: 不难不难    时间: 2017-5-7 19:16
本帖最后由 不难不难 于 2017-5-7 19:24 编辑

哦我知道了,不用点进来看咯,大神们




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2