c++中STL庫隊列詳細介紹

1.queue單向隊列(先進先出,隻能從尾端加元素,從頭刪元素)

        使用方式:在前面加上文件名‘#include<queue>’,再進行聲明’queue<int>m;”其中'<>‘裡面是數組的類型,‘m’是數組的名字。

        操作:
1.q.push()//入隊
2.q.pop()//讓隊首出隊
3.q.front()//獲得隊首元素
4.q.back()//獲得隊尾元素

        5.q.empty() 隊列是否為空
6.q.size() 返回隊列內元素個數 

#include<iostream>
#include<queue>
using namespace std;
int main() {
	int i;
	queue<int>m;
	for ( i = 0;i < 5;i++) {
		m.push(i);//讓元素入隊
	}
	cout << m.size() << endl;//統計m中元素的個數
	for (i = 0;i < 5;i++) {
		cout<<m.front();//獲得隊首元素
		//m.pop();//彈出隊首元素
	}
	return 0;
}

上面代碼運行後由於沒有講隊首元素給彈出,輸出的都是是一樣的,因此為瞭能讓m中的每一個元素輸出,我們應該及時的將隊首元素給彈出,再每次輸出第一個元素的時候及時的將它給彈出。

#include<iostream>
#include<queue>
using namespace std;
int main() {
	int i;
	queue<int>m;
	for ( i = 0;i < 5;i++) {
		m.push(i);//讓元素入隊
	}
	cout << m.size() << endl;//統計m中元素的個數
	for (i = 0;i < 5;i++) {
		cout<<m.front();//獲得隊首元素
		m.pop();//彈出隊首元素
	}
	return 0;
}

這樣我們就能將m中的所有元素給輸出。

2.deque雙向列隊(即能從頭部加入元素又能從尾部加入元素,元素進入按抽屜原理,最後進最先出)

         使用方式:在前面加上文件名‘#include<deque>’,再進行聲明‘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);//讓元素從頭部入隊
	}
	cout << m.size() << endl;//統計m中元素的個數
	for (i = 0;i < 5;i++) {
		cout<<m.front();//獲得隊首元素
		m.pop_front();//從頭部彈出隊首元素
	}
	return 0;
}

 3.vector(長度可變的數組)

        使用方法:在前面加上文件名‘#include<vector>’,再進行聲明‘vector<int>m;’。

        操作

        1.m.push_back()//輸入元素
2.m.pop_back()//刪除最後一個元素
3.m.size()//得到vector的大小
4.m.clear()//清空容器中所有數據
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);//讓元素入隊
	}
	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庫隊列詳細介紹的文章就介紹到這瞭,更多相關c++ STL庫隊列內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: