搜索
楼主: 凡夫俗子
打印 上一主题 下一主题

C语言排序

[复制链接]
楼主
发表于 2012-10-22 20:33:14 | 显示全部楼层
顶,感谢版主的分享~
沙发
发表于 2012-10-22 20:39:02 | 显示全部楼层
LZ,刚才试了下第一种排序,把代码完整复制下来,发现编译不了,截图如下,请问是什么问题呢

点评

谢谢指正错误,敲代码是粗心了点,现已改正(:  发表于 2012-10-26 19:49

评分

参与人数 1啊哈币 +3 收起 理由
凡夫俗子 + 3 谢谢!

查看全部评分

板凳
发表于 2012-11-16 20:35:12 | 显示全部楼层
[ 本帖最后由 henk 于 2012-11-16 20:46 编辑 ]\n\n

#include<stdio.h>
/*快速排序*/
int quick_sort(int *a, int n, int left, int right)
{
    int s, i, j;
    int temp;
    if(left < right)
       {
        s = a[left];
        i = left;
        j = right + 1;
        while(1)
           {
            while(i + 1 < n && a[++i] > s);
            while(j - 1 > -1 && a[--j] < s);
            if(i >= j)
           {
                break;
            }
            temp = a;
            a = a[j];
            a[j] = temp;
        }
        a[left] = a[j];
        a[j] = s;
        quick_sort(a, n, left, j - 1);
        quick_sort(a, n, j + 1, right);
    }
    return 0;
}
int main()
{
    int i,n;
    int arr[n];
    printf("请输入一个整数:");
    scanf("%d",&n);
    printf("请输入%d个整数:",n);
    for(i = 0; i < n; i++)
    {
        scanf("%d",&arr);      
    }
    for(i = 0; i < n; i++)
    {
        printf("arr[%d]=%d\n", i, arr);
    }
    quick_sort(arr, n, 0, (n-1));
    printf("排序后:\n");
    for(i = 0; i < n; i++) {
        printf("arr[%d]=%d\n", i, arr);
    }

    sleep(10000);   
    return 0;
}
地板
发表于 2012-11-16 20:46:54 | 显示全部楼层
=student= 发表于 2012-11-16 20:45
??

刚才在修改,SORRY~现在好了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表