首頁 > 軟體

c++中queue用法超詳細講解(入門必看!)

2022-11-01 14:03:05

1、queue的作用

說到queue,大家一定會想到stack,同樣是簡單易用的資料結構之一。queue就是佇列的意思,像大家日常排隊一樣,先排的人先用。stack則是相反的,後來的先用。這就有了queue先進先出,stack後進先出的說法。

queue是一個很簡單的資料結構,但是卻非常實用,同時也是必不可少的,其它的資料結構都無法替代佇列。

queue常用於模仿佇列,在演演算法中比較常用的有單調佇列演演算法

相信看完本文就能上手使用了

2、queue的定義

queue<儲存的型別> 容器名

如:

儲存int型資料的佇列 queue q;

儲存double型資料的佇列 queue q;

儲存string型資料的佇列 queue q;

儲存結構體或者類的佇列 queue<結構體名> q;

3、queue的成員函數

back() //返回最後一個元素 
empty() //如果佇列空則返回真 
front() //返回第一個元素 
pop() //刪除第一個元素 
push() //在末尾加入一個元素 
size() //返回佇列中元素的個數 

範例程式碼:

#include<iostream>//c++標準標頭檔案,可以使用cout,cin等標準庫函數 
#include<queue>//使用queue時需要的標頭檔案 
using namespace std;//名稱空間,防止重名給程式帶來各種隱患,使用cin,cout,stack,map,set,vector,queue時都要使用
int main(){
	queue<int> q;//定義一個int型別的佇列
	
	q.push(1);//在隊尾新增元素1 
	q.push(2);//在隊尾新增元素2
	q.push(3);//在隊尾新增元素3
	cout<<"插入元素1、2、3後,目前佇列中的元素:1 2 3"<<endl;
	cout<<"q.size()="<<q.size()<<endl;//q.size()檢視目前佇列中的元素個數 
	cout<<"q.empty()="<<q.empty()<<endl;//檢視佇列是否為空,1即為空,0即非空 
	cout<<"q.front()="<<q.front()<<endl; //檢視隊首元素 
	
	cout<<endl; 
	q.pop();//隊首元素出隊
	cout<<"q.pop()後,目前佇列中的元素:2 3 "<<endl; 
	cout<<"q.size()="<<q.size()<<endl;//q.size()檢視目前佇列中的元素個數 
	cout<<"q.empty()="<<q.empty()<<endl;//檢視佇列是否為空,1即為空,0即非空 
	cout<<"q.front()="<<q.front()<<endl; //檢視隊首元素 

	cout<<endl; 
	q.pop();//隊首元素出隊
	cout<<"q.pop()後,目前佇列中的元素:3" <<endl; 
	cout<<"q.size()="<<q.size()<<endl;//q.size()檢視目前佇列中的元素個數 
	cout<<"q.empty()="<<q.empty()<<endl;//檢視佇列是否為空,1即為空,0即非空 
	cout<<"q.front()="<<q.front()<<endl; //檢視隊首元素 
	
	cout<<endl; 
	q.pop();//隊首元素出隊
	cout<<"q.pop()後,目前佇列是空的"<<endl; 
	cout<<"q.size()="<<q.size()<<endl;//q.size()檢視目前佇列中的元素個數 
	cout<<"q.empty()="<<q.empty()<<endl;//檢視佇列是否為空,1即為空,0即非空 
	cout<<"佇列是空的時候將不能用q.front()檢視隊首元素" <<endl; 

}

執行結果:

插入元素1、2、3後,目前佇列中的元素:1 2 3
q.size()=3
q.empty()=0
q.front()=1

q.pop()後,目前佇列中的元素:2 3
q.size()=2
q.empty()=0
q.front()=2

q.pop()後,目前佇列中的元素:3
q.size()=1
q.empty()=0
q.front()=3

q.pop()後,目前佇列是空的
q.size()=0
q.empty()=1
佇列是空的時候將不能用q.front()檢視隊首元素

queue和stack都是不能隨機存取的,即通過下標存取元素,也不能遍歷

至此佇列的基本用法就學完咯

是不是很簡單呢?

剛接觸肯定會覺得難,多些做題多些用,熟悉了就容易了,兄弟萌,加油!!!

總結

到此這篇關於c++中queue用法的文章就介紹到這了,更多相關c++ queue用法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com