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不能用來代替堆