| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1273 人关注过本帖
标题:一道快速排序题,我超时了,求效率高的做法,谢谢
只看楼主 加入收藏
jtyf1314
Rank: 1
来 自:台州
等 级:新手上路
帖 子:6
专家分:2
注 册:2012-6-9
结帖率:100%
收藏
已结贴  问题点数:8 回复次数:7 
一道快速排序题,我超时了,求效率高的做法,谢谢
描述


给定n个整数,请使用快速排序算法对其进行从小到大排序。


输入


输入数据有多组,每组包含2行,第一行为正整数n(n<=100000),第二行为n个整数。


输出


每组数据占一行,每行输出排序后的n个整数,以空格分开。


样例输入


5
1 3 2 4 5
6
2 5 1 3 3 2

我的代码
#include<stdio.h>
int main()
{
    int i,j,n,a[100000],t;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<n;i++)
        scanf("%d",&a[i]);
        for(i=0;i<n-1;i++)
        for(j=0;j<n-1-i;j++)
        {
            if(a[j]>a[j+1])
            {    t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
        for(i=0;i<n-1;i++)
        { printf("%d ",a[i]); }
        printf("%d\n",a[n-1]);
    }
    return 0;
}

样例输出


1 2 3 4 5
1 2 2 3 3 5

搜索更多相关主题的帖子: 快速 include 正整数 
2012-06-13 21:52
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:1 
用快速法? 具体代码到处都有罢
2012-06-13 22:05
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
收藏
得分:1 
这是快速排序吗?
  我怎么看起来就是冒泡排序法
2012-06-13 22:48
wangyunzhong
Rank: 2
等 级:论坛游民
帖 子:16
专家分:13
注 册:2012-6-6
收藏
得分:1 
你写的是冒泡,效率不高
2012-06-13 23:26
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
收藏
得分:1 
用库函数,qsort,sort,都行啊。要是不让用,你就上网找一个吧,那东西写起来好多细节问题,建议楼主先看看归并排序,思想和快排只有一点点不同。

编程之路定要走完……
2012-06-14 08:48
小跳蚤
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:1
帖 子:437
专家分:1623
注 册:2011-4-9
收藏
得分:1 
很明显的冒泡,不过还可以在优化一下。

快速排序不是这么写的。

2012-06-14 08:59
zjy93513
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2012-6-14
收藏
得分:1 
指针+选择排序法
2012-06-14 11:36
jtyf1314
Rank: 1
来 自:台州
等 级:新手上路
帖 子:6
专家分:2
注 册:2012-6-9
收藏
得分:0 
恩,我今天看了些快排的内容,有点理解了、

2012-06-15 14:49
快速回复:一道快速排序题,我超时了,求效率高的做法,谢谢
数据加载中...
 
   



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

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