使用STL C ++实现非增加列表

时间:2015-08-08 18:42:54

标签: c++ dictionary stl

在一个问题中,输入是几个数字列表,

实施例 -

(1,5,4,3), (2,7,3,1,5), (1,9,1,7,3,7,2), (3,5,4,2,3).

每个列表可能出现两次。

在最终输出中,应打印不同的列表,其中每个列表中的元素应按非递增顺序排序,并且列表应按此类别排序。

是否可以使用c ++中的map实现这一整体?

以上示例的输出应为

9,7,7,3,2,1,1

7,5,3,2,1

5,4,3,3,2

5,4,3,1

简单地说,一组唯一列表,其中每个列表中的数字再次以非递增顺序排序。

1 个答案:

答案 0 :(得分:3)

std::set一定能帮到你。如果将列表插入std::set<int>

,您将获得一个唯一的排序列表作为结果集

修改

std::set<std::multiset<int, std::greater<int>> myList;

内部集合将以非递增顺序排序并保留重复元素,而外部集合将仅保留内部列表的唯一列表。