欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ stack與queue使用方法詳細講解

 更新時間:2023年01月04日 10:14:10   作者:川入  
stack是一種容器適配器,專門用在具有后進先出操作的上下文環(huán)境中,其刪除只能從容器的一端進行 元素的插入與提取操作;隊列是一種容器適配器,專門用于在FIFO上下文(先進先出)中操作,其中從容器一端插入元素,另一端提取元素

Stack的介紹和使用

stack的文檔介紹

stack是一種容器適配器,專門用在具有后進先出操作的上下文環(huán)境中,其刪除只能從容器的一端進行元素的插入與提取操作。 stack是作為容器適配器被實現(xiàn)的,容器適配器即是對特定類封裝作為其底層的容器,并提供一組特定的成員函數(shù)來訪問其元素,將特定類作為其底層的,元素特定容器的尾部(即棧頂)被壓入和彈出。

stack的默認定義的模板

注意:

默認情況下stack是以deque作為底層容器。

(大多數(shù)情況下都是使用queue作為底層容器即可,我們需要變動的只是存儲類型)

方式一:規(guī)定的存儲類型

//int類型
stack<int> st1;
//double類型
stack<double> st2;

方式二:規(guī)定底層實現(xiàn)容器

//用list
stack<int, list<int>> st1;
//用vector
stack<int, vector<int>> st2;

stack的使用

函數(shù)說明 接口說明
empty()檢測stack是否為空
size()返回stack中元素的個數(shù)
top()返回棧頂元素的引用
push()將元素val壓入stack中
pop()將stack中尾部的元素彈出
#include<iostream>
#include<stack>
using namespace std;
int main() {
	stack<int> st;
	for (int i = 0; i < 10; i++) {
		st.push(i);
	}
	//0 1 2 3 4 5 6 7 8 9
	cout << st.size() << endl;//輸出:10
	while (!st.empty()) {
		cout << st.top() << " ";
		st.pop();
	}
	cout << endl; //輸出:9 8 7 6 5 4 3 2 1 0
	return 0;
}

queue的介紹和使用

queue的文檔介紹

隊列是一種容器適配器,專門用于在FIFO上下文(先進先出)中操作,其中從容器一端插入元素,另一端提取元素。 隊列作為容器適配器實現(xiàn),容器適配器即將特定容器類封裝作為其底層容器類,queue提供一組特定的成員函數(shù)來訪問其元素。元素從隊尾入隊列,從隊頭出隊列。

queue的默認定義的模板

注意:

默認情況下queue是以deque作為底層容器。

(大多數(shù)情況下都是使用queue作為底層容器即可,我們需要變動的只是存儲類型)

方式一:規(guī)定的存儲類型

//int類型
queue<int> st1;
//double類型
queue<double> st2;

方式二:規(guī)定底層實現(xiàn)容器

//用list
stack<int, list<int>> st1;
//用vector
stack<int, vector<int>> st2;

queue的使用

函數(shù)聲明接口說明
empty()檢測隊列是否為空,是返回true,否則返回false
size()返回隊列中有效元素的個數(shù)
front()返回隊頭元素的引用
back()返回隊尾元素的引用
push()在隊尾將元素val入隊列
pop()將隊頭元素出隊列
#include <iostream>
#include <queue>
using namespace std;
int main(){
	queue<int> q;
	for (int i = 0; i < 10; i++) {
		q.push(i);
	}
	//0 1 2 3 4 5 6 7 8 9
	cout << q.size() << endl; //輸出:10
	while (!q.empty()){
		cout << q.front() << " ";
		q.pop();
	}
	cout << endl; //輸出:0 1 2 3 4 5 6 7 8 9
	return 0;
}

到此這篇關于C++ stack與queue使用方法詳細講解的文章就介紹到這了,更多相關C++ stack與queue內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言實現(xiàn)任何文件的加密解密功能

    C語言實現(xiàn)任何文件的加密解密功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)任何文件的加密解密功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • C++實現(xiàn)LeetCode(45.跳躍游戲之二)

    C++實現(xiàn)LeetCode(45.跳躍游戲之二)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(45.跳躍游戲之二),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言 表、棧和隊列詳解及實例代碼

    C語言 表、棧和隊列詳解及實例代碼

    這篇文章主要介紹了C語言 表、棧和隊列詳解及實例代碼的相關資料,需要的朋友可以參考下
    2017-02-02
  • C++實現(xiàn)LeetCode(88.混合插入有序數(shù)組)

    C++實現(xiàn)LeetCode(88.混合插入有序數(shù)組)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(88.混合插入有序數(shù)組),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • c++11中關于std::thread的join的詳解

    c++11中關于std::thread的join的詳解

    這篇文章主要介紹了c++11中關于std::thread的join詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Qt項目實戰(zhàn)之實現(xiàn)MP3音樂播放器

    Qt項目實戰(zhàn)之實現(xiàn)MP3音樂播放器

    這篇文章主要為大家詳細介紹了如何利用Qt實現(xiàn)MP3音樂播放器,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以了解一下
    2023-03-03
  • C語言實現(xiàn)哈夫曼樹的構建

    C語言實現(xiàn)哈夫曼樹的構建

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)哈夫曼樹的構建,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • VSCode C/C++多文件編譯配置小結

    VSCode C/C++多文件編譯配置小結

    本文主要介紹了VSCode C/C++多文件編譯配置小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • C語言詳細講解qsort函數(shù)的使用

    C語言詳細講解qsort函數(shù)的使用

    排序方法有很多種:選擇排序,冒泡排序,歸并排序,快速排序等??疵侄贾揽焖倥判蚴悄壳肮J的一種比較好的排序算法。因為他速度很快,所以系統(tǒng)也在庫里實現(xiàn)這個算法,便于我們的使用。這就是qsort函數(shù)
    2022-04-04
  • C++11 并發(fā)指南之std::mutex詳解

    C++11 并發(fā)指南之std::mutex詳解

    這篇文章主要介紹了C++11 并發(fā)指南之std::mutex詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02

最新評論