網(wǎng)站首頁 編程語言 正文
1.queue單向隊(duì)列(先進(jìn)先出,只能從尾端加元素,從頭刪元素)
? ? ? ? 使用方式:在前面加上文件名‘#include<queue>',再進(jìn)行聲明'queue<int>m;''其中'<>‘里面是數(shù)組的類型,‘m'是數(shù)組的名字。
? ? ? ? 操作:
1.q.push()//入隊(duì)
2.q.pop()//讓隊(duì)首出隊(duì)
3.q.front()//獲得隊(duì)首元素
4.q.back()//獲得隊(duì)尾元素
? ? ? ? 5.q.empty() 隊(duì)列是否為空
6.q.size() 返回隊(duì)列內(nèi)元素個數(shù)?
#include<iostream> #include<queue> using namespace std; int main() { int i; queue<int>m; for ( i = 0;i < 5;i++) { m.push(i);//讓元素入隊(duì) } cout << m.size() << endl;//統(tǒng)計(jì)m中元素的個數(shù) for (i = 0;i < 5;i++) { cout<<m.front();//獲得隊(duì)首元素 //m.pop();//彈出隊(duì)首元素 } return 0; }
上面代碼運(yùn)行后由于沒有講隊(duì)首元素給彈出,輸出的都是是一樣的,因此為了能讓m中的每一個元素輸出,我們應(yīng)該及時的將隊(duì)首元素給彈出,再每次輸出第一個元素的時候及時的將它給彈出。
#include<iostream> #include<queue> using namespace std; int main() { int i; queue<int>m; for ( i = 0;i < 5;i++) { m.push(i);//讓元素入隊(duì) } cout << m.size() << endl;//統(tǒng)計(jì)m中元素的個數(shù) for (i = 0;i < 5;i++) { cout<<m.front();//獲得隊(duì)首元素 m.pop();//彈出隊(duì)首元素 } return 0; }
這樣我們就能將m中的所有元素給輸出。
2.deque雙向列隊(duì)(即能從頭部加入元素又能從尾部加入元素,元素進(jìn)入按抽屜原理,最后進(jìn)最先出)
?????????使用方式:在前面加上文件名‘#include<deque>',再進(jìn)行聲明‘deque<int>m;
????????操作:
1.q.push_back()//尾部插入
2.q.push_front()//頭部插入
3.q.pop_front()//頭部刪除
4.q.pop_back()//尾部刪除
5.q.front()//返回第一個元素
6.q.back()//返回最后一個元素
#include<iostream> #include<deque> using namespace std; int main() { int i; deque<int>m; for ( i = 0;i < 5;i++) { m.push_front(i);//讓元素從頭部入隊(duì) } cout << m.size() << endl;//統(tǒng)計(jì)m中元素的個數(shù) for (i = 0;i < 5;i++) { cout<<m.front();//獲得隊(duì)首元素 m.pop_front();//從頭部彈出隊(duì)首元素 } return 0; }
?3.vector(長度可變的數(shù)組)
? ? ? ? 使用方法:在前面加上文件名‘#include<vector>',再進(jìn)行聲明‘vector<int>m;'。
? ? ? ? 操作
? ? ? ? 1.m.push_back()//輸入元素
2.m.pop_back()//刪除最后一個元素
3.m.size()//得到vector的大小
4.m.clear()//清空容器中所有數(shù)據(jù)
5.m.empty()//判斷vector是否為空
6.m.front()//引用第一個元素
7.m.back()//引用最后一個元素
#include<iostream> #include<vector> using namespace std; int main() { int i; vector<int>m; for ( i = 0;i < 5;i++) { m.push_back(i);//讓元素入隊(duì) } cout << m.size() << endl;//得到vector容器的大小 for (i = 0;i < 5;i++) { cout << m.back();//獲得尾部元素 m.pop_back();//從尾部彈出元素 } cout << endl; for (i = 0;i < 5;i++) { m.push_back(i); } cout << m.size() << endl; m.clear();//清除m中所有元素 cout << m.size() << endl; return 0; }
原文鏈接:https://blog.csdn.net/qq_62837200/article/details/122048593
相關(guān)推薦
- 2022-04-26 Swift踩坑實(shí)戰(zhàn)之一個字符引發(fā)的Crash_Swift
- 2022-05-29 C#實(shí)現(xiàn)文本轉(zhuǎn)語音功能_C#教程
- 2022-03-26 c#使用listbox的詳細(xì)方法和常見問題解決_C#教程
- 2023-12-12 線程并發(fā)協(xié)作(生產(chǎn)者/消費(fèi)者模式)
- 2023-03-01 PostgreSQL生成列實(shí)現(xiàn)過程介紹_PostgreSQL
- 2022-03-13 .NET中IoC框架Autofac用法講解_自學(xué)過程
- 2022-11-02 Android?Studio模擬器運(yùn)行apk文件_Android
- 2022-08-19 android九宮格鎖屏控件使用詳解_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支