HM251 区间升降
HM251 区间升降
来源: 第 251 集 常用排序算法-sort
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
常用排序算法里,sort 最常用,可以把一段区间排成升序或降序。同组里还有洗牌、有序合并、首尾反转,本题只做排序。
sort 的前两个参数是起始迭代器和结束迭代器,表示要排的区间。第三个参数可以不填:不填时默认从小到大。若要改规则,第三个参数填谓词(返回布尔值);最快的办法是使用内建函数对象 greater<int>(),得到从大到小。greater 在函数对象头文件里,低版本编译器漏包含可能报错,因此要包含该头文件。sort 本身在算法头文件中。
先把输入序列放进容器,用默认两参数 sort 得到升序并输出;再对同一段用带 greater<int>() 的三参数 sort 得到降序并输出。遍历输出可用 for_each。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。
输出格式
共两行:
- 升序后的全部元素;
- 降序后的全部元素。
同一行内用单个空格分隔,行末换行。空序列输出空行。
样例
输入 #1
5
1 3 5 2 4
输出 #1
1 2 3 4 5
5 4 3 2 1
输入 #2
1
7
输出 #2
7
7
说明
\(0 \le n \le 1000\),元素绝对值不超过 \(10^9\)。
样例 #1 默认两参数排成 \(1\,2\,3\,4\,5\),再换成 greater<int>() 得到 \(5\,4\,3\,2\,1\)。
信息
- ID
- 1250
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者