| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1505 人关注过本帖
标题:C++ 排序问题
只看楼主 加入收藏
Jason_
Rank: 2
来 自:浙江台州
等 级:论坛游民
帖 子:88
专家分:66
注 册:2019-7-14
结帖率:66.67%
收藏
 问题点数:0 回复次数:5 
C++ 排序问题
题目描述
输入 n 及 n 个正整数,按从大到小的顺序输出。
输入
共二行
第一行只有一个正整数:n
第二行共有 n 个正整数,数与数之间有一个空格,每个数据在闭区间[100,700]内。
输出
有若干行
每行有 10 个数据,每个数据占用 4 个字符位置(最后一行可以少于 10 个数据)
样例
输入  复制
5
534 657 435 556 587
输出  复制
657 587 556 534 435
提示
【数据规模】
30% 的数据: 1 <= n <= 4 000
70% 的数据: 1 <= n <= 40 000
100% 的数据: 1 <= n <= 400 000
(PS:这题好像没那么简单啊,一开始直接sort,然后试了选择、冒泡都不行)
搜索更多相关主题的帖子: 数据 正整数 排序 C++ 输出 
2020-03-25 20:57
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
(PS:这题好像没那么简单啊,一开始直接sort,然后试了选择、冒泡都不行)
你不将你用sort的代码贴出来,别人怎么知道你代码错在哪里?
2020-03-25 21:34
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
每个数据在闭区间[100,700]内
这句话的意思其实就是
让你用计数排序
O(n)时间复杂度 实现也非常简单
记录每一个数字出现的次数
输出的时候 外层循环100到700
每个元素是多少就输出多少个下标
完事

https://zh.
2020-03-26 10:35
Jason_
Rank: 2
来 自:浙江台州
等 级:论坛游民
帖 子:88
专家分:66
注 册:2019-7-14
收藏
得分:0 
回复 2楼 rjsp
就是普通的sort然后一个cmp啊:
程序代码:
#include <bits/stdc++.h>
using namespace std;
int n,a[400001];
bool cmp(int a,int b){
    return a > b;
}
int main(){
    cin>>n;
    for (int i=1; i<=n; i++)
      cin>>a[i];
    sort(a,a+1+n,cmp);
    for(int i=0; i<n ;i++){
        cout<<a[i]<<" ";
        if ((i+1)%10==0&&i!=0) cout<<endl;
    }
    return 0;
}

40分
2020-03-26 21:18
Jason_
Rank: 2
来 自:浙江台州
等 级:论坛游民
帖 子:88
专家分:66
注 册:2019-7-14
收藏
得分:0 
已经解决了,居然要先输出空格再输出a[i]就是不太知道为什么,有哪位大佬能解释一下吗??
2020-03-26 21:22
雪影辰风
Rank: 6Rank: 6
来 自:衡阳市
等 级:贵宾
威 望:22
帖 子:177
专家分:387
注 册:2019-6-17
收藏
得分:0 
回复 5楼 Jason_
这个要看评测系统了,有的评测系统对格式卡的很死
2020-04-04 15:23
快速回复:C++ 排序问题
数据加载中...
 
   



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

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