1. 程式人生 > >C++STL庫常騰訊分用分彩平臺出租數據結構用法整理

C++STL庫常騰訊分用分彩平臺出租數據結構用法整理

隊列 splice 插入元素 key alloc ase 輸出 整理 eve

vector騰訊分用分彩平臺出租 haozbbs.com Q1446595067
創建對象,vector<int> vec;
尾部插入數字,vec.push_back(a);
使用下表訪問元素
使用叠代器訪問元素
插入元素
刪除最後一個元素,vec.pop_back()

queue
定義一個queue的變量 queue<Type> M
查看是否為空範例 M.empty()
從已有元素後面增加元素 M.push()
輸出現有元素的個數 M.size()
顯示第一個元素 M.front()
顯示最後一個元素 M.back()
彈出隊列的第一個元素 M.pop()

stack
返回棧的元素數size()

返回棧頂的元素 top()
從棧中去除並刪除元素 pop()
向棧中添加元素x push(x)
在棧為空時返回true empty()

map
map遍歷
basic
for(iter = str2vec.begin(); iter != str2vec.end(); iter++)
{output.push_back(iter->second);}
faster
for(auto& p: str2vec){
output.push_back(p.second);
}

list
list是雙向鏈表,與向量相比,它允許快讀的插入和刪除,但是隨機訪問比較慢
Lst1.assign() 給list賦值
Lst1.back() 返回最後一個元素

Lst1.begin() 返回指向第一個元素的叠代器
Lst1.clear() 刪除所有元素
Lst1.empty() 如果list是空的則返回true
Lst1.end() 返回末尾的叠代器
Lst1.erase() 刪除一個元素
Lst1.front() 返回第一個元素
Lst1.get_allocator() 返回list的配置器
Lst1.insert() 插入一個元素到list中
Lst1.max_size() 返回list能容納的最大元素數量
Lst1.merge() 合並兩個list
Lst1.pop_back() 刪除最後一個元素
Lst1.pop_front() 刪除第一個元素
Lst1.push_back() 在list的末尾添加一個元素
Lst1.push_front() 在list的頭部添加一個元素
Lst1.rbegin() 返回指向第一個元素的逆向叠代器
Lst1.remove() 從list刪除元素
Lst1.remove_if() 按指定條件刪除元素
Lst1.rend() 指向list末尾的逆向叠代器
Lst1.resize() 改變list的大小
Lst1.reverse() 把list的元素倒轉
Lst1.size() 返回list中的元素個數
Lst1.sort() 給list排序
Lst1.splice() 合並兩個list
Lst1.swap() 交換兩個list
Lst1.unique() 刪除list中重復的元素

priority_queue
q.push()
q.pop()
q.top()

bitset
bitset的大小在編譯時就需要確定
定義bitset,bitset<16> b;
b.size() 返回位數
b.count() 返回1的個數
b.any() 返回是否有1
b.none() 返回是否沒有1
b.set() 全部變成1
b.set(i) 將i+1位變成1
b.set(i,x) 將i+1位變成x
b.reset() 全部都變成0
b.flip() 全部去翻
b.to_string() 轉為string類型

unordered_map
1.find函數判斷某鍵值是否存在
map.find(key)==map.end() 時不存在
2.count函數
統計key值在map中出現的次數
int count(key)

set

  1. begin()--返回指向第一個元素的叠代器
  2. clear()--清除所有元素
  3. count()--返回某個值元素的個數
  4. empty()--如果集合為空,返回true
  5. end()--返回指向最後一個元素的叠代器
  6. equal_range()--返回集合中與給定值相等的上下限的兩個叠代器
  7. erase()--刪除集合中的元素
  8. find()--返回一個指向被查找到元素的叠代器
  9. get_allocator()--返回集合的分配器
  10. insert()--在集合中插入元素
  11. lower_bound()--返回指向大於(或等於)某值的第一個元素的叠代器
  12. key_comp()--返回一個用於元素間值比較的函數
  13. max_size()--返回集合能容納的元素的最大限值
  14. rbegin()--返回指向集合中最後一個元素的反向叠代器
  15. rend()--返回指向集合中第一個元素的反向叠代器
  16. size()--集合中元素的數目
  17. swap()--交換兩個集合變量
  18. upper_bound()--返回大於某個值元素的叠代器
  19. value_comp()--返回一個用於比較元素間的值的函數

unordered_set

  1. empty() -- 檢查是否為空
  2. insert()--插入元素
  3. erase()-- 刪除指定元素

C++STL庫常騰訊分用分彩平臺出租數據結構用法整理