问题标题: 酷町堂: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

80分代码:

#include<bits/stdc++.h>
#include<algorithm>
#include<cstdio>
#include<climits>
using namespace std;
int n,a[2500005];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    cin>>a[i];
    sort(a+1,a+n+1);
    for(int i=1;i<=n;i++)
    cout<<a[i]<<" ";
    return 0;
}


0
已采纳
张凌峰
张凌峰
新手光能
新手光能

可以试试用快排写!

0
毛润宇
毛润宇
新手天翼
新手天翼

冒泡排序的优化就可以了,不用快排。

思路,flag每次重置为0,交换数据一次,flag=1;如果一轮循环没交换数据,那么就跳出循环。

输出。

0
张凌峰
张凌峰
新手光能
新手光能

把文件头留下一个万能的,其他的都不要。如果还是不对,那我就没办法了!

0
傅文彬
傅文彬
新手天翼
新手天翼

用桶拍写+数组定义10000=AC

0
我要回答