C++STL庫常用數據結構用法整理

圖片1.png

vector

創建對象,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()

mapmap

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

listlist

是雙向鏈表,與向量相比,它允許快讀的插入和刪除,但是隨機訪問比較慢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_queueq.push()q.pop()q.top()

bitset

bitset的大小在編譯時就需要確定定義bitset,bitset<16> b;b.size() 返回位數b.count() 返回1的個數b.any() 返回是否有1b.none() 返回是否沒有1b.set() 全部變成1b.set(i) 將i+1位變成1b.set(i,x) 將i+1位變成xb.reset() 全部都變成0b.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()--如果集合為空,返回true5. 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_set1. empty() -- 檢查是否為空2. insert()--插入元素3. erase()-- 刪除指定元素

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP

1
1
1