HM239 二元改序
HM239 二元改序
来源: 第 239 集 谓词-二元谓词
难度: 普及-
时间限制: 1s
空间限制: 64MB
题目描述
二元谓词首先必须是谓词(operator() 返回 bool),并且接收**两个参数**。
sort 有两个常用重载:只给区间时,默认按从小到大(升序)排;再多传一个谓词,就可以改算法策略。底层会拿两个数比较,因此谓词要接收两个值。若希望降序,让“前一个大于后一个”时返回真即可。这个谓词同样可以写成匿名函数对象:类名后面加一对括号。
读入一个可能无序的整数序列。先用默认 sort 排成升序并输出;再用二元谓词改成从大到小,再输出一次。
输入格式
第一行一个整数 \(n\)。
第二行 \(n\) 个整数。当 \(n=0\) 时本行可以是空行。
输出格式
两行,每行 \(n\) 个整数,元素之间一个空格,行末换行。
第一行是默认升序,第二行是二元谓词得到的降序。\(n=0\) 时两行都是空行。
样例
输入 #1
5
1 4 2 3 5
输出 #1
1 2 3 4 5
5 4 3 2 1
输入 #2
3
3 1 2
输出 #2
1 2 3
3 2 1
说明
\(0 \le n \le 1000\),元素绝对值不超过 \(10^9\)。
样例 #1 先被默认规则排成 \(1\,2\,3\,4\,5\),再按“前大于后”排成 \(5\,4\,3\,2\,1\)。谓词体现在返回 bool,二元体现在两个参数。
信息
- ID
- 1238
- 难度
- (无)
- 分类
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 通过率
- ?
- 上传者