幾種stl的應用

2022-02-13 14:48:40 字數 947 閱讀 4739

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要比一般的資料單元...