gpt4 book ai didi

c++ - 对 2 个 "linked"数组进行排序的更好方法?

转载 作者:行者123 更新时间:2023-11-28 05:32:06 25 4
gpt4 key购买 nike

<分区>

我有 2 个 vector 存储“链接”的属性。这就是我的意思:

std::vector<std::string> names;
std::vector<int> ids;

// Name of object with an ID of 5
auto name = names[std::find(ids.begin(), ids.end(), 5) - ids.begin()];

每个对象都有一个名称和一个 ID,因此索引 n 处的对象的名称为 name[n],ID 为 ids[ n].

现在我想按字母顺序对名称进行排序。我可以使用 std::sort:

std::sort(names.begin(), names.end());

但现在 ID 不匹配!我想做一个成对的 vector ,将每个名称/id 放入其中,对其进行排序,然后提取数据。

这不是很有效,因为我必须对两个 vector 的每个元素循环 2 次,而 vector 有很多元素。

看到我不能使用成对的 vector 而不是从一开始就使用 2 个 vector ,我该如何提高效率?

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