【发布时间】:2011-09-23 19:05:08
【问题描述】:
在 Smalltalk 中,你可以创建一个 sortedCollection,也就是说你可以添加一个元素,它会插入到正确的位置。
C++ 中有这样的东西吗?或者更好的是,有没有类似 sortedQueue 的东西,这样当你添加一个元素时,它会将它排序到一个类似队列的结构中,你可以将第一个元素从其中弹出?
我查看了集合,这是我在排序方面需要的,但它是一个无序的集合。我正在寻找尽可能短的运行时间。
【问题讨论】:
-
"我查看了集合,这是我在排序方面需要的,但它是一个无序的集合" 嗯?
set已订购,unordered_set未订购。 -
你错了,
std::set被点名了。 -
set是有序的,默认使用std::less,所以循环通过myset.begin()到myset.end()将按升序遍历元素。 -
@ildjarn & @Fetissov 我想我当时一定是看错了。谢谢你的澄清。