c++ STL 容器——序列
生活随笔
收集整理的這篇文章主要介紹了
c++ STL 容器——序列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
STL中11個容器類型分別是deque,list,queue,priority_queue,stack,vector,map,multimap,set,multiset,bieset(在比特級處理數據的容器,不討論)
?
一些基本的容器特征
| 表達式 | 返回值 | 說明 | 復雜度 |
| XX:iterator | 對應迭代器 | 指針 | 編譯時間 |
| X u | ? | 創(chuàng)建一個名為u的空容器 | 固定 |
| X u(a) /X u=a | ? | 復制a到u | 線性 |
| a.begin() | 迭代器 | 指向容器的第一個元素 | 固定 |
| a.end() | 迭代器 | 指向超尾值迭代器(最后一個元素+1) | 固定 |
| a.size() | unsigned int | 返回元素個數? 等價于a.end()-a.begin() | 固定 |
| a.swap(b) | void | 交換a,b的內容 | 固定 |
| a==b? /? a!=b | bool | 是否完全一樣(長度,每一個元素都一樣) | 線性 |
?
序列:
6種容器是序列:deque雙端隊列,list雙向鏈表,queue隊列,priority_queue優(yōu)先隊列,stack棧,vector數組
| 表達式 | 返回值 | 說明 |
| X a(n,t) | ? | 聲明一個類型為X,名為a,由n個t組成的序列 |
| X a(i,j) | ? | 聲明一個類型X,名為a,并將其初始化為區(qū)間【i,j)的內容 |
| a.insert(p,t) | 迭代器 | 將t插入到p前 |
| a.insert(p,n,t) | void | 將n個t插入到p前 |
| a.insert(p,i,j) | void | 將區(qū)間【i,j)的元素插入到p前 |
| a.erase(p) | 迭代器 | 刪除p指向的內容 |
| erase(p,q) | 迭代器 | 刪除區(qū)間【p,q】的元素 |
| a.clear() | void | 刪除所有,等價于a.erase(a.begin(),a.end()); |
其他容器函數:
| 表達式 | 含義 | 對應容器 |
| a.front() | 返回第一個 | vector,list,deque,queue |
| a.back() | 返回最后一個 | vector,list,deque,queue |
| a.push(pop)_front() | 在第一個前添加(刪除) | list,deque |
| a.push(pop)_back() | 添加(刪除)最后一個 | list,deque,vector |
| a[n]? /? a.at(n) | 返回第n個元素 | a[n]不檢查是否越界;a.at(n)檢查是否越界 |
?
棧和隊列的成員函數寫過了 ?? http://www.cnblogs.com/jinmingyi/p/6798041.html
?
轉載于:https://www.cnblogs.com/jinmingyi/p/6798359.html
總結
以上是生活随笔為你收集整理的c++ STL 容器——序列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL的3个主要组成
- 下一篇: 一轮项目冲刺——移山小分队(2)