国产睡熟迷奷白丝护士系列精品,中文色字幕网站,免费h网站在线观看的,亚洲开心激情在线

      <sup id="hb9fh"></sup>
          1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

            手機(jī)站
            千鋒教育

            千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

            千鋒教育

            掃一掃進(jìn)入千鋒手機(jī)站

            領(lǐng)取全套視頻
            千鋒教育

            關(guān)注千鋒學(xué)習(xí)站小程序
            隨時隨地免費(fèi)學(xué)習(xí)課程

            當(dāng)前位置:首頁  >  技術(shù)干貨  > STL教程(七):C++ STL常用容器之 queue

            STL教程(七):C++ STL常用容器之 queue

            來源:千鋒教育
            發(fā)布人:syq
            時間: 2022-06-22 16:26:04 1655886364

              上一篇文章介紹了先進(jìn)后出的stack容器,對應(yīng)著先進(jìn)后出還有一種先進(jìn)先出的容器叫queue容器 。

              1、queue容器的基本概念

              Queue是一種先進(jìn)先出(First In First Out,FIFO)的數(shù)據(jù)結(jié)構(gòu),它有兩個出口,queue容器允許從一端新增元素,從另一端移除元素。

            1

              2、queue容器的特點(diǎn)

              Queue所有元素的進(jìn)出都必須符合”先進(jìn)先出”的條件,只有queue的頂端元素,才有機(jī)會被外界取用。

              Queue不提供遍歷功能,也不提供迭代器。

              3、queue常用API介紹

              3.1queue構(gòu)造函數(shù)

            queue<T> queT;//queue采用模板類實(shí)現(xiàn),queue對象的默認(rèn)構(gòu)造形式: queue(const queue &que);//拷貝構(gòu)造函數(shù)

              3.2queue存取、插入和刪除操作

            push(elem);//往隊(duì)尾添加元素 pop();//從隊(duì)頭移除第一個元素 back();//返回最后一個元素 front();//返回第一個元素

              3.3queue賦值操作

            queue& operator=(const queue &que);//重載等號操作符

              3.4queue大小操作

            empty();//判斷隊(duì)列是否為空 size();//返回隊(duì)列的大小

              案例:

            #include<iostream>#include <queue>    //隊(duì)列模板

            using namespace std;void test(){

                queue<int> q;

                q.push(10);

                q.push(20);

                q.push(30);

                q.push(40);

                q.push(50);

                 if(q.empty())

                 {

                    cout<<"空隊(duì)"<<endl;

                 }

                 else

                 {

                     cout<<"隊(duì)的元素個數(shù):"<<q.size()<<endl;

                     while(!q.empty())//隊(duì)不為空 我就訪問隊(duì)頭元素

                     {

                         cout<<q.front()<<" ";

                         q.pop();//出隊(duì) 一個數(shù)據(jù)

                     }

                 }

             }int main() {

                test() ;

                return 0;}

            2

              4、優(yōu)先隊(duì)列priority_queue

              在頭文件中,還定義了一個非常有用的模版類priority_queue(優(yōu)先隊(duì)列),優(yōu)先隊(duì)列與隊(duì)列的差別在于優(yōu)先隊(duì)列不是按照入隊(duì)的順序出隊(duì),而是按照隊(duì)列中元素的優(yōu)先權(quán)順序出隊(duì)(默認(rèn)為大者優(yōu)先,也可以通過指定算子來指定自己的優(yōu)先順序)。

              priority_queue模版類有三個模版參數(shù),元素類型,容器類型,比較算子。其中后兩個都可以省略,默認(rèn)容器為vector,默認(rèn)算子為less,即小的往前排,大的往后排(出隊(duì)時序列尾的元素出隊(duì))。

              定義方式:

            priority_queue<int >q1;//優(yōu)先隊(duì)列  默認(rèn)大的先出隊(duì)

            priority_queue<pair<int,int> >q2;

            priority_queue<int,vector<int>,greater<int> >q3;//定義小的先出隊(duì)

              案例:給定幾個坐標(biāo)(x,y,z),按照優(yōu)先輸出z坐標(biāo)大的。

            #include<iostream>

            #include<queue>

            #include<stdlib.h>

            using namespace std;

            class T

            {

            public:

            int x,y,z;

            T(int a,int b,int c):x(a),y(b),z(c)

            {

            }

            };

            bool operator<(const T&t1,const T&t2)

            {

            return t1.z<t2.z;

            }

            int main(void)

            {

            priority_queue<T>q;

            q.push(T(4,4,3));

            q.push(T(2,2,5));

            q.push(T(1,5,4));

            q.push(T(3,3,6));

            while(!q.empty())

            {

            T t=q.top();

            q.pop();

            cout<<t.x<<" "<<t.y<<" "<<t.z<<endl;

            }

            system("Pause");

            return 1;

             

            }

            3

              更多關(guān)于智能物聯(lián)網(wǎng)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢想。

            tags:
            聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
            10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
            請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
            免費(fèi)領(lǐng)取
            今日已有369人領(lǐng)取成功
            劉同學(xué) 138****2860 剛剛成功領(lǐng)取
            王同學(xué) 131****2015 剛剛成功領(lǐng)取
            張同學(xué) 133****4652 剛剛成功領(lǐng)取
            李同學(xué) 135****8607 剛剛成功領(lǐng)取
            楊同學(xué) 132****5667 剛剛成功領(lǐng)取
            岳同學(xué) 134****6652 剛剛成功領(lǐng)取
            梁同學(xué) 157****2950 剛剛成功領(lǐng)取
            劉同學(xué) 189****1015 剛剛成功領(lǐng)取
            張同學(xué) 155****4678 剛剛成功領(lǐng)取
            鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
            董同學(xué) 138****2867 剛剛成功領(lǐng)取
            周同學(xué) 136****3602 剛剛成功領(lǐng)取
            相關(guān)推薦HOT
            什么是PlatformIo?

            PlatformIO是什么PlatformIO是一個全面的物聯(lián)網(wǎng)開發(fā)平臺,它為眾多硬件平臺和開發(fā)環(huán)境提供了統(tǒng)一的工作流程,有效簡化了開發(fā)過程,并能兼容各種...詳情>>

            2023-10-14 12:55:06
            云快照與自動備份有什么區(qū)別?

            1、定義和目標(biāo)不同云快照的主要目標(biāo)是提供一種快速恢復(fù)數(shù)據(jù)的方法,它只記錄在快照時間點(diǎn)后的數(shù)據(jù)變化,而不是所有的數(shù)據(jù)。自動備份的主要目標(biāo)...詳情>>

            2023-10-14 12:48:59
            服務(wù)器為什么要用Linux?

            服務(wù)器為什么要用Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,Linux在眾多選擇中脫穎而出。Linux作為服務(wù)器操作系統(tǒng)的優(yōu)選,有其獨(dú)特的優(yōu)勢和特點(diǎn)。包括其...詳情>>

            2023-10-14 12:34:11
            ORM解決的主要問題是什么?

            ORM(對象關(guān)系映射)解決的主要問題是將關(guān)系數(shù)據(jù)庫與面向?qū)ο缶幊讨g的映射困境。在傳統(tǒng)的關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)以表格的形式存儲,而在面向?qū)ο?..詳情>>

            2023-10-14 12:26:19
            Go為什么不支持三元運(yùn)算符?

            Go為什么不支持三元運(yùn)算符Go語言是一種以簡潔和有效性為目標(biāo)的編程語言,因此在設(shè)計(jì)過程中,Go的設(shè)計(jì)者刻意排除了一些他們認(rèn)為可能導(dǎo)致復(fù)雜性或...詳情>>

            2023-10-14 12:12:36