0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是queue?

汽車電子技術(shù) ? 來源:C語言Plus ? 作者:C語言Plus ? 2023-02-27 15:43 ? 次閱讀

一、什么是 queue?

queue 容器,又稱隊(duì)列容器,是簡單地裝飾deque容器而成為另外的一種容器。

二、容器特性

1.雙開口容器

實(shí)際上該容器模擬的就是隊(duì)列存儲(chǔ)結(jié)構(gòu),只能從尾部插入元素,只能從頭部刪除元素。(先進(jìn)先出,類似于排隊(duì))

2.不支持迭代器

只能通過固定的函數(shù)插入、訪問和刪除

三、基本函數(shù)實(shí)現(xiàn)

1,構(gòu)造函數(shù)

  • queue();創(chuàng)建一個(gè)空queue

2.元素的增加、獲取與刪除

  • void push(const T& x); 往隊(duì)列尾添加元素
  • reference front(); 獲取隊(duì)頭元素
  • reference back(); 獲取隊(duì)尾元素
  • void pop(); 刪除隊(duì)頭元素

5.判斷函數(shù)

  • bool empty() const;判斷容器中是否有元素,若無元素,則返回 true;反之,返回 false。

6.大小函數(shù)

  • int size() const;返回隊(duì)列中元素的個(gè)數(shù)

7.其他函數(shù)

  • void swap(queue&);交換兩個(gè)同類型隊(duì)列的數(shù)據(jù)

四、基本用法

#include
#include
using namespace std;
int main()
{
  queue<int> q;
  for (int i = 0; i < 10; i++)
  {
    q.push(i);
  }
  cout << q.front() << " " << q.back() << endl;
  while (!q.empty())
  {
    cout << q.front() << " ";
    q.pop();
  }
  cout << "\\nsize:" << q.size() << endl;

  return 0;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    495

    瀏覽量

    22062
  • 隊(duì)列
    +關(guān)注

    關(guān)注

    1

    文章

    46

    瀏覽量

    10894
  • Queue
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    7262
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux kernel的wait queue機(jī)制

    當(dāng)編寫Linux驅(qū)動(dòng)程序、模塊或內(nèi)核程序時(shí),一些進(jìn)程會(huì)等待或休眠一些事件。Linux中有幾種處理睡眠和醒來的方法,每種方法對(duì)應(yīng)不同的需求,而wait queue便是其中一種。
    發(fā)表于 06-15 10:54 ?732次閱讀

    RAW queue

    1queue支持FIFO 和PRIO 的任務(wù)阻塞策略,如果是FIFO 的話阻塞隊(duì)列的順序是按照先來后到的次序去排列阻塞任務(wù),PRIO 策略的話是按照優(yōu)先級(jí)的排序。具體的設(shè)置可以直接設(shè)置這個(gè)結(jié)構(gòu)體中
    發(fā)表于 02-27 14:06

    Queue Management、Queue Proxy Regions和Queue Peek Region幾個(gè)寄存器的主要區(qū)別是什么?

    Queue Management、Queue Proxy Regions和Queue Peek Region幾個(gè)寄存器的主要區(qū)別是什么? 我看到手冊(cè)上介紹的 Queue N Regis
    發(fā)表于 06-19 04:28

    6455 EDMA event queue問題

    我在使用EDMA +Mcbsp0用于接收外部數(shù)據(jù)時(shí)候,遇到一個(gè)很奇怪的問題,如果我將Mcbsp0的接收通道映射到event queue 1沒有任何問題,但是映射到其他3個(gè)event queue就會(huì)
    發(fā)表于 06-24 00:56

    python庫的Queue詳解

    Py之Queue:python庫之Queue的簡介、安裝、使用方法之詳細(xì)攻略
    發(fā)表于 12-28 10:09

    Queue隊(duì)列的作用是什么

    文章目錄前言Queue 隊(duì)列semaphore 信號(hào)量Mutex 互斥量微信公眾號(hào)前言FreeRTOS STM32CubeMX配置 內(nèi)存管理 任務(wù)管理上節(jié)介紹了用STM32CubeMX生成帶
    發(fā)表于 02-14 06:57

    消息隊(duì)列Queue相關(guān)資料推薦

    消息隊(duì)列QueueAPItx_queue_createtx_queue_deletex_queue_flushtx_queue_front_sendtx_queue_receivetx_queue_send_notifyAPItx_queue_createtx_queue_deletetx_queue_flushtx_qu
    發(fā)表于 02-22 06:53

    Linux之work_queue_share教程

    Linux之work_queue_share教程,很好的Linux資料,快來學(xué)習(xí)吧
    發(fā)表于 04-15 17:49 ?13次下載

    Linux之work_queue_custom教程

    Linux之work_queue_custom教程,很好的Linux自學(xué)資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-15 17:49 ?8次下載

    Linux之work_queue_delay_work教程

    Linux之work_queue_delay_work教程,很好的Linux自學(xué)資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-15 17:54 ?12次下載

    Java多線程總結(jié)之Queue

    在Java多線程應(yīng)用中,隊(duì)列的使用率很高,多數(shù)生產(chǎn)消費(fèi)模型的首選數(shù)據(jù)結(jié)構(gòu)就是隊(duì)列。Java提供的線程安全的Queue可以分為 阻塞隊(duì)列和非阻塞隊(duì)列 ,其中阻塞隊(duì)列的典型例子
    發(fā)表于 11-28 16:14 ?3315次閱讀
    Java多線程總結(jié)之<b class='flag-5'>Queue</b>

    ThreadX(九)------消息隊(duì)列Queue

    消息隊(duì)列QueueAPItx_queue_createtx_queue_deletex_queue_flushtx_queue_front_sendtx_queue_receivetx_queue_send_notifyAPItx_queue_createtx_queue_deletetx_queue_flushtx_qu
    發(fā)表于 12-28 19:35 ?2次下載
    ThreadX(九)------消息隊(duì)列<b class='flag-5'>Queue</b>

    隊(duì)列Queue的常用方法有哪些

    FIFO(先入先出)隊(duì)列Queue,LIFO(后入先出)隊(duì)列LifoQueue,和優(yōu)先級(jí)隊(duì)列PriorityQueue。
    的頭像 發(fā)表于 08-19 10:24 ?5766次閱讀
    隊(duì)列<b class='flag-5'>Queue</b>的常用方法有哪些

    RTOS中Queue的工作原理

    Queue即消息隊(duì)列是通過RTOS內(nèi)核提供的一種服務(wù)。它是一種線程間同步數(shù)據(jù)的安全方法。
    的頭像 發(fā)表于 07-25 15:45 ?3543次閱讀
    RTOS中<b class='flag-5'>Queue</b>的工作原理

    OpenHarmony語言基礎(chǔ)類庫【@ohos.util.Queue (線性容器Queue)】

    Queue的特點(diǎn)是先進(jìn)先出,在尾部增加元素,在頭部刪除元素。根據(jù)循環(huán)隊(duì)列的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。
    的頭像 發(fā)表于 04-27 21:20 ?333次閱讀
    OpenHarmony語言基礎(chǔ)類庫【@ohos.util.<b class='flag-5'>Queue</b> (線性容器<b class='flag-5'>Queue</b>)】