HM239 二元改序

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
通过率
?
上传者