博客專欄

        EEPW首頁 > 博客 > C++隊列queue用法詳解

        C++隊列queue用法詳解

        發(fā)布人:電子禪石 時間:2024-03-21 來源:工程師 發(fā)布文章
        一、定義

        queue是一種容器轉(zhuǎn)換器模板,調(diào)用#include< queue>即可使用隊列類。

        一、queue初始化

        queue<Type, Container> (<數(shù)據(jù)類型,容器類型>)
        初始化時必須要有數(shù)據(jù)類型,容器可省略,省略時則默認(rèn)為deque 類型

        初始化示例
        queue<int>q1;
        queue<double>q2;  
        queue<char>q3;
        //默認(rèn)為用deque容器實現(xiàn)的queue;
        queue<char, list<char>>q1;
        //用list容器實現(xiàn)的queue 
        
        queue<int, deque<int>>q2;
         //用deque容器實現(xiàn)的queue

        注意:不能用vector容器初始化queue

        因為queue轉(zhuǎn)換器要求容器支持front()、back()、push_back()及 pop_front(),

        說明queue的數(shù)據(jù)從容器后端入棧而從前端出棧。所以可以使用deque和list對queue初始化,

        .而vector因其缺少pop_front(),不能用于queue。

        二、queue常用函數(shù)1.常用函數(shù)
        1. push() 在隊尾插入一個元素

        2. pop() 刪除隊列第一個元素

        3. size() 返回隊列中元素個數(shù)

        4. empty() 如果隊列空則返回true

        5. front() 返回隊列中的第一個元素

        6. back() 返回隊列中最后一個元素


        2.函數(shù)運用示例

        1:push()在隊尾插入一個元素

         queue <string> q;
            q.push("first");
            q.push("second");
            cout<<q.front()<<endl;

          輸出 first

        2:pop() 將隊列中最靠前位置的元素刪除,沒有返回值

        queue <string> q;
        	q.push("first");
        	q.push("second");
        	q.pop();
        	cout<<q.front()<<endl;

          輸出 second 因為 first 已經(jīng)被pop()函數(shù)刪掉了

        3:size() 返回隊列中元素個數(shù)       

          queue <string> q;
        	   q.push("first");
        	   q.push("second");
        	   cout<<q.size()<<endl;

         輸出2,因為隊列中有兩個元素

        4:empty() 如果隊列空則返回true

        queue <string> q;
            cout<<q.empty()<<endl;
            q.push("first");
            q.push("second");
            cout<<q.empty()<<endl;

        分別輸出1和0
        最開始隊列為空,返回值為1(ture);
        插入兩個元素后,隊列不為空,返回值為0(false);

        5:front() 返回隊列中的第一個元素

        queue <string> q;
            q.push("first");
            q.push("second");
            cout<<q.front()<<endl;
            q.pop();
            cout<<q.front()<<endl;

        第一行輸出first;
        第二行輸出second,因為pop()已經(jīng)將first刪除了

        6:back() 返回隊列中最后一個元素

        queue <string> q;
        q.push("first");
        q.push("second");
        cout<<q.back()<<endl;

        輸出最后一個元素second

                    

        原文鏈接:https://blog.csdn.net/KEPROM/article/details/109744379


        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞: queue

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 常宁市| 宕昌县| 乌鲁木齐市| 许昌县| 手游| 崇明县| 蒙阴县| 衡阳县| 磴口县| 察雅县| 双城市| 南郑县| 武义县| 洪湖市| 正宁县| 诏安县| 专栏| 来安县| 南平市| 黎川县| 浏阳市| 明水县| 长丰县| 惠水县| 泸溪县| 兖州市| 桓仁| 顺平县| 汤原县| 武夷山市| 四平市| 栾川县| 二连浩特市| 台南县| 台前县| 同德县| 砀山县| 卫辉市| 闽侯县| 无极县| 绥芬河市|