| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2820 人关注过本帖, 1 人收藏
标题:快速排序源代码
只看楼主 加入收藏
马后炮
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:156
专家分:560
注 册:2010-12-17
收藏
得分:5 
#include <stdio.h>
#include <stdlib.h>

void Qsort(int number[],int startPos, int endPos)
{
    int i,j,temp;
    temp=number[startPos];
    i=startPos; j=endPos;
    while (i<j)
    {
        while (number[j]>=temp && i<j)--j;
        number[i]=number[j];
        while (number[i]<=temp && i<j)++i;
        number[j]=number[i];
    }
    number[i]=temp;
    if (i-1>startPos) Qsort(number,startPos,i-1);
    if (endPos>i+1) Qsort(number,i+1,endPos);
}

int number[1000000];
int main()
{
    int n = 1000000, i;
    int ri = 100, itest;
    for (itest = 1; itest <= 10; ++ri, ++itest)
    {
        srand(ri);
        for (i=0; i<n; i++)
            number[i] = rand();
        Qsort(number, 0, n-1);
        for (i=1; i<n; i++)
        {
            if (number[i-1] > number [i])
            {
                puts("algorithm wrong");
                return 0;
            }
        }
        printf("Test %d pass\n", itest);
    }
    system("pause");
    return 0;
}

测试似乎没有错

樱之雪,晓之车
2010-12-23 21:30
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
100W你家有这么大的内存吗?-----

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-12-24 15:52
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
冒昧问一句,怎么对多个关键词排序

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-12-25 08:57
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
已经解决了,thanks

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-12-25 19:32
快速回复:快速排序源代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049914 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved