C++STL庫常騰訊分用分彩平臺出租數據結構用法整理
創建對象,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()
從棧中去除並刪除元素 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.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_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
- begin()--返回指向第一個元素的叠代器
- clear()--清除所有元素
- count()--返回某個值元素的個數
- empty()--如果集合為空,返回true
- end()--返回指向最後一個元素的叠代器
- equal_range()--返回集合中與給定值相等的上下限的兩個叠代器
- erase()--刪除集合中的元素
- find()--返回一個指向被查找到元素的叠代器
- get_allocator()--返回集合的分配器
- insert()--在集合中插入元素
- lower_bound()--返回指向大於(或等於)某值的第一個元素的叠代器
- key_comp()--返回一個用於元素間值比較的函數
- max_size()--返回集合能容納的元素的最大限值
- rbegin()--返回指向集合中最後一個元素的反向叠代器
- rend()--返回指向集合中第一個元素的反向叠代器
- size()--集合中元素的數目
- swap()--交換兩個集合變量
- upper_bound()--返回大於某個值元素的叠代器
- value_comp()--返回一個用於比較元素間的值的函數
unordered_set
- empty() -- 檢查是否為空
- insert()--插入元素
- erase()-- 刪除指定元素
C++STL庫常騰訊分用分彩平臺出租數據結構用法整理