網站首頁 編程語言 正文
一、定義
queue是一種容器轉換器模板,調用#include< queue>即可使用隊列類。
一、queue初始化
queue
初始化時必須要有數據類型,容器可省略,省略時則默認為deque 類型
初始化示例
1:
queueq1; queue q2; queue<char>q3; //默認為用deque容器實現的queue;
2:
queue<char, list<char>>q1; //用list容器實現的queue? queue<int, deque<int>>q2; ?//用deque容器實現的queue?
注意:不能用vector容器初始化queue
因為queue轉換器要求容器支持front()、back()、push_back()及 pop_front(),說明queue的數據從容器后端入棧而從前端出棧。所以可以使用deque和list對queue初始化,而vector因其缺少pop_front(),不能用于queue。
二、queue常用函數
1.常用函數
- push() 在隊尾插入一個元素
- pop() 刪除隊列第一個元素
- size() 返回隊列中元素個數
- empty() 如果隊列空則返回true
- front() 返回隊列中的第一個元素
- back() 返回隊列中最后一個元素
2.函數運用示例
1:push()在隊尾插入一個元素
queueq; q.push("first"); q.push("second"); cout<
輸出 first
2:pop() 將隊列中最靠前位置的元素刪除,沒有返回值
queueq; q.push("first"); q.push("second"); q.pop(); cout<
輸出 second 因為 first 已經被pop()函數刪掉了
3:size() 返回隊列中元素個數
queueq; q.push("first"); q.push("second"); cout<
輸出2,因為隊列中有兩個元素
4:empty() 如果隊列空則返回true
queueq; cout<
分別輸出1和0
最開始隊列為空,返回值為1(ture);
插入兩個元素后,隊列不為空,返回值為0(false);
5:front() 返回隊列中的第一個元素
queueq; q.push("first"); q.push("second"); cout<
第一行輸出first;
第二行輸出second,因為pop()已經將first刪除了
6:back() 返回隊列中最后一個元素
queueq; q.push("first"); q.push("second"); cout<
輸出最后一個元素second
補充:queue 的基本操作舉例如下
queue入隊,如例:q.push(x); 將x 接到隊列的末端。
queue出隊,如例:q.pop(); 彈出隊列的第一個元素,注意,并不會返回被彈出元素的值。
訪問queue隊首元素,如例:q.front(),即最早被壓入隊列的元素。
訪問queue隊尾元素,如例:q.back(),即最后被壓入隊列的元素。
判斷queue隊列空,如例:q.empty(),當隊列空時,返回true。
訪問隊列中的元素個數,如例:q.size()
#include#include #include using namespace std; int main() { int e,n,m; queue q1; for(int i=0;i<10;i++) q1.push(i); if(!q1.empty()) cout<<"dui lie bu kong\n"; n=q1.size(); cout<
運行結果:
dui lie ?bu kong
10
9
0 1 2 3 4 5 6 7 8 9
dui lie ?bu kong
請按任意鍵繼續. . .
總結
原文鏈接:https://blog.csdn.net/KEPROM/article/details/109744379
相關推薦
- 2022-05-23 iOS?UISegmentControl實現自定義分欄效果_IOS
- 2022-11-26 Ubuntu?環境下安裝?Docker環境詳解_docker
- 2022-10-06 C++?pimpl機制詳細講解_C 語言
- 2022-10-17 Matlab實現帶豎線散點的核密度圖的繪制_C 語言
- 2022-04-28 Python可視化學習之seaborn繪制矩陣圖詳解_python
- 2023-11-16 【云原生】服務器重啟后,如何將dockers和docker里的服務重啟
- 2023-10-15 動態演示操作系統進程調度算法,FCFS, RR, SPN, SRT, HRRN
- 2022-07-17 react.createContext
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支