我想按字母顺序列出我的集合的输出。下面是一个尝试,但它似乎很慢/效率低,我什至还没有完成它。
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;
}
}
}
显然,这只会输出按字母顺序排列在第一个对象之后的对象。
我还考虑将对象从集合中移到另一个容器中,但它似乎仍然效率低下。