C++ STL的set是有序的,通常背后是红黑树的实现。
输出会从小到大。
#include <iostream>
#include <set> using namespace std;
int main()
{
int a[]={1,2,5,9,6,4};
int len=sizeof(a)/sizeof(int);
set<int> s(a,a+len);
for(set<int>::iterator i=s.begin();i!=s.end();i++) cout<<*i<<" ";
return 0;
}
输出
1 2 4 5 6 9
无序的set现在已经被加入ISO C++2011标准中
unordered_set<int> a;
字符串可以用
set<string> a;//C++的字符串
set<char *> a;//C式0结尾的字符串
STL的queue队列通常用heap堆实现的。可以作为堆使用。
堆具有最大最小极向性,multiset,multimap不能用来代替堆
转载于:https://my.oschina.net/u/347414/blog/173183