微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 C++ 中重新排序向量元素?

如何解决如何在 C++ 中重新排序向量元素?

我有一个对象向量,我想以不同于最初存储的顺序访问这些对象的元素。我最初的想法是创建一个指针数组,每个数组对象一个,并将指针值移动到所需的顺序(因此底层数组不需要更改)。

向量迭代器看起来类似于一个指针数组,但我无法确定它们是否可以重新指向。

有没有习惯的方法来做到这一点?

预计到达时间: 下面@doug 的评论让我的想法走上了另一条路,我认为我把任务复杂化了。数组中的每个对象都有一个属性,用于确定我要使用另一个属性的顺序。根据 doug 的建议,我可以遍历数组并写出两个新数组(每个属性一个)并执行对排序向量。与@Ted Lyngmo 的想法一致,也许我可以遍历数组并写出一个由两个属性组成的新结构数组,然后执行 std::sort。

预计到达时间 2: 以防万一,对象向量由外部库生成属性仅通过方法调用公开。

解决方法

尽管我提出的问题很糟糕,但这些回答帮助我找到了解决方案。仅供参考,这里是:

3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。