1. 程式人生 > 其它 >寒假訓練第一天(stl

寒假訓練第一天(stl

技術標籤:stl

寒假訓練第一天(stl)

vector

用於定義陣列,可用範圍大,內容量可變。vector裡面仍可以加vector而構成2維陣列。

以下是可以用在vector裡的一些操作

1.push_back() 在陣列的最後新增一個數據

2.pop_back() 去掉陣列的最後一個數據

3.at() 得到編號位置的資料

4.begin() 得到陣列頭的指標

5.end() 得到陣列的最後一個單元+1的指標

6front() 得到陣列頭的引用

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,總結下來,還是用的太少,爭取以後多用。

最後,姑姑保佑!
在這裡插入圖片描述