麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

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

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

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

  上一篇文章介紹了先進后出的stack容器,對應著先進后出還有一種先進先出的容器叫queue容器 。

  1、queue容器的基本概念

  Queue是一種先進先出(First In First Out,FIFO)的數據結構,它有兩個出口,queue容器允許從一端新增元素,從另一端移除元素。

1

  2、queue容器的特點

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

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

  3、queue常用API介紹

  3.1queue構造函數

queue<T> queT;//queue采用模板類實現,queue對象的默認構造形式: queue(const queue &que);//拷貝構造函數

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

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

  3.3queue賦值操作

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

  3.4queue大小操作

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

  案例:

#include<iostream>#include <queue>    //隊列模板

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<<"空隊"<<endl;

     }

     else

     {

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

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

         {

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

             q.pop();//出隊 一個數據

         }

     }

 }int main() {

    test() ;

    return 0;}

2

  4、優先隊列priority_queue

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

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

  定義方式:

priority_queue<int >q1;//優先隊列  默認大的先出隊

priority_queue<pair<int,int> >q2;

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

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

#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

  更多關于智能物聯網培訓的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓服務經驗,采用全程面授高品質、高體驗培養模式,擁有國內一體化教學管理及學員服務,助力更多學員實現高薪夢想。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 久久成人精品视频| 深夜影院一级毛片| 欧美日韩精品一区二区三区不卡| 好男人社区www在线观看| 国产亚洲美女精品久久久2020 | 再深点灬舒服了灬太大| 天天爱夜夜做| a级毛片毛片免费观看久潮喷| 欧美人与动欧交视频| 精品国产成a人在线观看| 国产砖码砖专区| 黑人解禁在线| 精品三级内地国产在线观看| 日韩福利社| 免费大黄网站| 手机av在线播放| av线上观看| 久久一区二区明星换脸| 国产制服丝袜在线| 91在线国内在线播放老师| 亚洲精品欧美精品日韩精品 | 久久免费视频一区| 中文字幕久久久久久久系列| 香瓜七兄弟第二季| a级毛片视频免费观看| 野花社区在线观看www| 日韩中文字幕在线视频| 久久久久久亚洲精品| 中文字幕无线码中文字幕免费| 国产一精品一av一免费爽爽| 在车子颠簸中进了老师的身体| 欧美日韩亚洲国产精品| 涩涩快播| 东北女大战28公分黑人| 法国性经典xxxxhd| 美国十次啦大导航| 国产又色又爽在线观看| 国产麻豆精品在线观看| 日韩欧美一区二区三区免费观看| mm131美女做爽爽爱视频| 亚洲日本一区二区三区在线不卡|