寒假訓練第一天(stl
阿新 • • 發佈:2021-01-21
技術標籤:stl
寒假訓練第一天(stl)
vector
用於定義陣列,可用範圍大,內容量可變。vector裡面仍可以加vector而構成2維陣列。
以下是可以用在vector裡的一些操作
1.push_back() 在陣列的最後新增一個數據 2.pop_back() 去掉陣列的最後一個數據 3.at() 得到編號位置的資料 4.begin() 得到陣列頭的指標 5.end() 得到陣列的最後一個單元+1的指標 6.front() 得到陣列頭的引用 7.back() 得到陣列的最後一個單元的引用 8.max_size() 得到vector最大可以是多大 9.capacity
() 當前vector分配的大小 10.size() 當前使用資料的大小 11.resize() 改變當前使用資料的大小,如果它比當前使用的大,者填充預設值 12.reserve() 改變當前vecotr所分配空間的大小 13.erase() 刪除指標指向的資料項 14.clear() 清空當前的vector 15.rbegin() 將vector反轉後的開始指標返回(其實就是原來的end-1) 16.rend() 將vector反轉構的結束指標返回(其實就是原來的begin-1) 17.empty() 判斷vector是否為空 18.swap() 與另一個vector交換資料
queue
這是一個先進先出的好東西(FIFO),可以針對一些對先讀入的物件進行操作的題目
以下是基本操作
1.back() 返回最後一個元素
2.empty() 如果佇列空則返回真
3.front() 返回第一個元素
4.pop() 刪除第一個元素
5.push() 在末尾加入一個元素
6.size() 返回佇列中元素的個數
stack
這是一個先進後出的好東西(FILO),可以針對一些對後讀入的物件進行操作的題目
以下是基本操作
1.empty() 判斷stack是否為空,為空返回true,否則返回false
2.size()返回stack中元素的個數
3.pop()刪除棧頂元素,但不返回其值
4. top()返回棧頂元素的值,但不刪除此元素
5.push(item)在棧頂壓入新元素item
map
這是一個將key放在左value放在右的一個東西。比如map<int , string>,這裡int表示key的型別是int,value的值是string。理解之後可以將map中的型別靈活更改(雖然現在還不太熟), 比如map<int, map<int, int>>這裡key就是int不用多說,但是value變成了一個map(這樣可以,問就是試過),通過第一個key可以指向第二個map,這樣就可以實現“套娃”,具體情況具體分析。
以下是基本操作
1.begin() 返回指向map頭部的迭代器
2.clear() 刪除所有元素
3.count() 返回指定元素出現的次數
4.empty() 如果map為空則返回true
5.end() 返回指向map末尾的迭代器
6.equal_range() 返回特殊條目的迭代器對
7.erase() 刪除一個元素
8.find() 查詢一個元素
9.get_allocator() 返回map的配置器
10.insert() 插入元素
11.key_comp() 返回比較元素key的函式
12.lower_bound() 返回鍵值>=給定元素的第一個位置
13.max_size() 返回可以容納的最大元素個數
14.rbegin() 返回一個指向map尾部的逆向迭代器
15.rend() 返回一個指向map頭部的逆向迭代器
16.size() 返回map中元素的個數
17.swap() 交換兩個map
18.upper_bound() 返回鍵值>給定元素的第一個位置
19.value_comp() 返回比較元素value的函式
以上是今天寫題用到過的stl,總結下來,還是用的太少,爭取以後多用。
最後,姑姑保佑!