set< int > ::iterator it;//迭代器,可以指向同型別的集合
q.find(k);//其中乙個元素k的位址
q.count(k);//k的個數
q.erase(k);//刪除所有值為k的元素
q.erase(it);刪除it指向的位址和元素
#include#include#include#include#includeusing namespace std;
int main()
sort(q.begin(),q.end())//對vector裡的元素進行排序
q.erase(unique(q.begin(),q.end()),q.end()); //擷取重複的元素
q.insert(q.begin()+i,a);//在第i+1個元素前插入a
q.erase(q.begin()+i,q.begin()+j);//刪除區間[i,j)內元素 (區間從0開始)
#include#include#include#includeusing namespace std;
vectorv;
int main()
//4 3 2 1
return 0;
}
2)less和greater優先佇列
#include#include#includeusing namespace std;
priority_queue,less>l;//公升序
priority_queue,greater>g;//降序
int main()
printf("\n");//1 2 3 4 5
while(!g.empty())printf("\n");//5 4 3 2 1
return 0;
}
c 幾種STL比較
stl工作和面試考的比較多了,下面整理一下。1 vector 變長一維陣列,連續存放的記憶體塊,有保留記憶體,堆中分配記憶體 支援操作,高效率的隨機訪問 在最後增加元素時,一般不需要分配記憶體空間,速度快 在中間或開始操作元素時要進行記憶體拷貝效率低 vector高效的原因在於配置了比其所容納的元素...
STL應用例項
一 vector的簡單應用 include include int main std cout std endl return 0 二 deque的簡單應用 include include int main std cout std endl return 0 三 list的簡單應用 include...
STL幾種容器的區別簡介
有黑必有白,世界萬物都是成對出現的。鍊錶對於陣列來說就是相反的存在。陣列本身是沒有動態增長能力的 程式中也必須重新開闢記憶體來實現 而鍊錶強悍的就是動態增長和刪除的能力。但對於陣列強悍的隨機訪問能力來說的話,鍊錶卻很弱。list是乙個雙向鍊錶的實現。為了提供雙向遍歷的能力,list要比一般的資料單元...