gpt4 book ai didi

c++ - C++ std::set 的排序输出

转载 作者:行者123 更新时间:2023-11-27 23:11:07 25 4
gpt4 key购买 nike

我想按字母顺序列出我的集合的输出。下面是对此的尝试,但它似乎很慢/效率低下,我什至还没有完成。

void ordered(ostream &os) {
bool inserted = false;
for (objects::iterator i = begin(); i != end(); ) {
for (objects::iterator x = begin(); x != end(); ++x) {
if((**i) < (**x)) { //overloaded and works
os << **i << endl;
inserted = true;
break;
}
}
if(inserted) {
++i;
}
}
}

很明显,这只会输出按字母顺序排列在第一个对象之后的对象。

我也考虑过将对象从一个集合移动到另一个容器中,但它似乎仍然效率低下。

最佳答案

std::set 是一个有序容器,参见引用资料:
http://en.cppreference.com/w/cpp/container/set

std::set is an associative container that contains a sorted set of unique objects of type Key. Sorting is done using the key comparison function Compare. Search, removal, and insertion operations have logarithmic complexity. Sets are usually implemented as red-black trees.

关于c++ - C++ std::set 的排序输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20339316/

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