溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

c++中STL庫隊(duì)列是什么意思

發(fā)布時(shí)間:2021-12-21 10:44:56 來源:億速云 閱讀:126 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“c++中STL庫隊(duì)列是什么意思”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“c++中STL庫隊(duì)列是什么意思”這篇文章吧。

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)元素個(gè)數(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中元素的個(gè)數(shù)
	for (i = 0;i < 5;i++) {
		cout<<m.front();//獲得隊(duì)首元素
		//m.pop();//彈出隊(duì)首元素
	}
	return 0;
}

上面代碼運(yùn)行后由于沒有講隊(duì)首元素給彈出,輸出的都是是一樣的,因此為了能讓m中的每一個(gè)元素輸出,我們應(yīng)該及時(shí)的將隊(duì)首元素給彈出,再每次輸出第一個(gè)元素的時(shí)候及時(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中元素的個(gè)數(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()//返回第一個(gè)元素
6.q.back()//返回最后一個(gè)元素

#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中元素的個(gè)數(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()//刪除最后一個(gè)元素
3.m.size()//得到vector的大小
4.m.clear()//清空容器中所有數(shù)據(jù)
5.m.empty()//判斷vector是否為空
6.m.front()//引用第一個(gè)元素
7.m.back()//引用最后一個(gè)元素

#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;
}

以上是“c++中STL庫隊(duì)列是什么意思”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI