0
已解决
许金夫
初级天翼
初级天翼
3952 成绩排序
题目描述 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
40分:
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
double a[2500000];
int main(){
long long n;
cin>>n;
for(long long i=0;i<n;i++)
{
cin>>a[i];
}
sort(a,a+n);
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
return 0;
}
0
0
董宇昊
初级启示者
初级启示者
将
sort(a,a+n);
改成
循环(整形 i从1开始到n-1;i自增){//一共比较n-1轮
bool类型 f等于0;
循环(整形 j从1到n-i;j自增){// 第i轮:比较n-i对数字
如果(a[j]大于a[j加1]){
swap(a[j],a[j加1]);//交换a[j]和a[j加1]
f等于1;
}
}
如果(f等于等于0) break;//退出循环
}
董宇昊在2020-05-02 11:25:00追加了内容
董宇昊在2020-05-02 11:26:17追加了内容
打字很辛苦!
何况还有注释!!
0
0