【发布时间】:2013-12-02 22:38:51
【问题描述】:
我想按字母顺序列出我的集合的输出。下面是一个尝试,但它似乎很慢/效率低,我什至还没有完成。
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;
}
}
}
显然,这只会输出按字母顺序排在第一个对象之后的对象。
我也考虑过将对象从集合中移到另一个容器中,但似乎仍然效率低下。
【问题讨论】:
-
@AlexanderMyshov 很高兴您在这里尝试改进帖子,但请尝试找到比单个标签编辑更实质性的改进。谢谢!