C++ Primer 5th笔记(9)chapter9 顺序容器 vector 容器的自增长 容器适配器
生活随笔
收集整理的這篇文章主要介紹了
C++ Primer 5th笔记(9)chapter9 顺序容器 vector 容器的自增长 容器适配器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. vector 容器的自增長:當插入元素當存儲空間不足時,vector 必須重新分配存儲空間(比如將新空間大小增加為當前大小的2倍)
管理容量的成員函數
| c.shrink_to_fit() | 將capacity()減少到和size()相同大小。 |
| c.capacity() | 不重新分配內存空間的話,c可以保存多少個元素 |
| c.reverse(n) | 分配至少能容納n個元素的內存空間 |
- shrink_to_fit只適用于vector、string和deque
- capacity和reverse只適用于vector和string。
2. 容器適配器
三種順序容器適配器:queue,priority__queue,stack。
| queue | deque | list或vector |
| priority_queue | vector | deque |
| stack | deque | list或vector |
size_type
value_type 元素類型
container_type 底層容器類型
eg.
A a; 創建一個新的空適配器,命名為a A a(b); 創建一個名為a的新適配器,初始化為容器b的副本deque<int> deq; stack<int> stk(deq); //從deq拷貝元素到stk關系操作符 所有適配器都支持全部關系操作符:==、!=、<、<=、>、>=
2.1 stack棧適配器
s.empty(); //如棧為空范圍true。 s.size(); //返回棧中元素個數。size_type類型。 s.pop(); //彈出棧頂。 s.top(); //返回棧頂元素。 s.push(value); //入棧。2.2 queue和priority_queue
q.pop() //刪除隊首元素,但不返回。 q.front() //返回隊首元素的值,不刪除。 q.back() //返回隊尾元素的值,不刪除。只適用于queue q.top() //返回具有最高優先級的元素值,不刪除。 q.push(item) //在隊尾壓入一個新元素。 q.emplace(args)總結
以上是生活随笔為你收集整理的C++ Primer 5th笔记(9)chapter9 顺序容器 vector 容器的自增长 容器适配器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ Primer 5th笔记(9)c
- 下一篇: C++ Primer 5th笔记(9)c