gpt4 book ai didi

c++ - 使用 std::sort 对集合进行排序

转载 作者:可可西里 更新时间:2023-11-01 15:38:34 25 4
gpt4 key购买 nike

我想知道我们是否可以对预先创建的集合进行排序。当我第一次创建集合 s_p2 时,我使用不同的元素 point.getLength() 进行排序。但在用户输入后,我想根据 x 值 point.getX() 对项目进行排序。我该怎么做?

set容器好像没有排序功能。我被建议使用 vector 。但是集合只能存储唯一的元素。

Q1:如何根据条件对集合进行排序

问题 2:如果 set 无法做到这一点,那么哪个 STL 容器是最佳选择,我该如何对容器中的元素进行排序。

最佳答案

您不能使用set,它的排序方式是特定set 类型的一部分。一个给定的 set 有一个固定的顺序,不能改变。

您可以相对轻松地使用相同的数据创建一个新的。只需创建一个根据新标准排序的新

如果您想在同一代码中使用两个 set,则必须抽象出对底层 set 的访问。

现在,如果您很少进行读取和修改,使用手动排序的 vector 通常是更好的主意。您可以使用 std::unique-erase 习惯用法来删除重复项。

关于c++ - 使用 std::sort 对集合进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13385348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com