1. 程式人生 > >C++STL模板庫關聯容器之set/multiset

C++STL模板庫關聯容器之set/multiset

目錄

一丶關聯容器簡介.set/multiset

我們的序列容器,底層都是線性表構成的. 比如 vector list deque. 關聯容器底層就是紅黑樹.
以set集合為例.
set內部元素根據其值自動排序.每個元素的值只允許出現一次.不能重複.
multiset 跟set一樣.只不過值可以重複.

二丶演示程式碼.

#include <set>

using namespace std;


int main(char *argc, char *argv[]) {
 
  multiset<int> muse;
  muse.insert(1);
  muse.insert(2);
  muse.insert(6);
  muse.insert(3); //插入的時候自動排序

  set<int> se;
  se.insert(1);
  se.insert(6);
  se.insert(5);

  set<int>::iterator it = se.begin();
  while (it != se.end())
  {
    cout << *it << endl;
    it++;
  }
  //查詢
  it = se.find(6);//使用內部的find查詢
  se.erase(it);//刪除.
  se.clear();  //清空
  se.empty();  //判斷是否為空

  cout << endl;
  cout << "--------------------------" << endl;
  getchar();
  system("pause");

}

set相比於序列容器. 只能使用inset方法進行新增資料. 去掉了線性表等一些操作.
如: 刪除頭部元素 尾部元素. 獲取頭部元素. 尾部元素.....