问题标题: 酷町堂:3952求思路!

0
0
已解决
郑凝溪
郑凝溪
初级光能
初级光能

题目描述 Description

某次考试后,胡老师不小心将已经排好顺序的试卷打乱了,不过由于试卷的数量很大,实际上只有很少的试卷顺序是错误的,请你选择合适的排序方法,帮助胡老师完成从小到大的排序过程。

输入描述 Input Description

第一行,一个正整数n(1≤n≤2,500,000)
第二行,n个正整数,数值在1到100之间

输出描述 Output Description

一行,从小到大排序完成的结果

样例输入 Sample Input

 

5
3 2 1 5 4

样例输出 Sample Output

 

1 2 3 4 5


0
已采纳
孙坚恒
孙坚恒
资深守护
资深守护

用for循环

孙坚恒在2019-05-21 16:40:53追加了内容

其中一段,启发启发:

for(int i=1;i<=n-1;i++)
    {
        if(f==0) break;
        f=0;
        for(int j=1;j<=n-i;j++)
        {
            if(a[j]>a[j+1])
            {
                f=1;
                swap(a[j],a[j+1]);   
            }
        }
    }
 

 

 

0
0
完颜傲伦
完颜傲伦
资深守护
资深守护
int a[2500001]
...//循环输入
sort(a+!,a+n+1);//此乃快排
...//循环输出
cout<<a[i];


快排(quicksort)

 

0
0
0
宣海宁
宣海宁
中级光能
中级光能

冒泡是不可能的了(1≤n≤2,500,000),最好用快排。

其实我还没学到……

宣海宁在2019-05-18 18:44:31追加了内容

 我是说:我还没学到快排。

 

我要回答