一、什么是 queue?
queue 容器,又稱隊列容器,是簡單地裝飾deque容器而成為另外的一種容器。
二、容器特性
1.雙開口容器
實際上該容器模擬的就是隊列存儲結(jié)構(gòu),只能從尾部插入元素,只能從頭部刪除元素。(先進先出,類似于排隊)
2.不支持迭代器
只能通過固定的函數(shù)插入、訪問和刪除
三、基本函數(shù)實現(xiàn)
1,構(gòu)造函數(shù)
- queue();創(chuàng)建一個空queue
2.元素的增加、獲取與刪除
- void push(const T& x); 往隊列尾添加元素
- reference front(); 獲取隊頭元素
- reference back(); 獲取隊尾元素
- void pop(); 刪除隊頭元素
5.判斷函數(shù)
- bool empty() const;判斷容器中是否有元素,若無元素,則返回 true;反之,返回 false。
6.大小函數(shù)
- int size() const;返回隊列中元素的個數(shù)
7.其他函數(shù)
- void swap(queue&);交換兩個同類型隊列的數(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)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
容器
+關(guān)注
關(guān)注
0文章
499瀏覽量
22128 -
隊列
+關(guān)注
關(guān)注
1文章
46瀏覽量
10927 -
Queue
+關(guān)注
關(guān)注
0文章
16瀏覽量
7285
發(fā)布評論請先 登錄
相關(guān)推薦
Linux kernel的wait queue機制
當編寫Linux驅(qū)動程序、模塊或內(nèi)核程序時,一些進程會等待或休眠一些事件。Linux中有幾種處理睡眠和醒來的方法,每種方法對應(yīng)不同的需求,而wait queue便是其中一種。
發(fā)表于 06-15 10:54
?794次閱讀
RAW queue 篇
1queue支持FIFO 和PRIO 的任務(wù)阻塞策略,如果是FIFO 的話阻塞隊列的順序是按照先來后到的次序去排列阻塞任務(wù),PRIO 策略的話是按照優(yōu)先級的排序。具體的設(shè)置可以直接設(shè)置這個結(jié)構(gòu)體中
發(fā)表于 02-27 14:06
Queue Management、Queue Proxy Regions和Queue Peek Region幾個寄存器的主要區(qū)別是什么?
Queue Management、Queue Proxy Regions和Queue Peek Region幾個寄存器的主要區(qū)別是什么?
我看到手冊上介紹的
Queue N Regis
發(fā)表于 06-19 04:28
6455 EDMA event queue問題
我在使用EDMA +Mcbsp0用于接收外部數(shù)據(jù)時候,遇到一個很奇怪的問題,如果我將Mcbsp0的接收通道映射到event queue 1沒有任何問題,但是映射到其他3個event queue就會
發(fā)表于 06-24 00:56
Queue隊列的作用是什么
文章目錄前言Queue 隊列semaphore 信號量Mutex 互斥量微信公眾號前言FreeRTOS STM32CubeMX配置 內(nèi)存管理 任務(wù)管理上節(jié)介紹了用STM32CubeMX生成帶
發(fā)表于 02-14 06:57
消息隊列Queue相關(guān)資料推薦
消息隊列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_delay_work教程
Linux之work_queue_delay_work教程,很好的Linux自學資料,快來學習吧。
發(fā)表于 04-15 17:54
?12次下載
Java多線程總結(jié)之Queue
在Java多線程應(yīng)用中,隊列的使用率很高,多數(shù)生產(chǎn)消費模型的首選數(shù)據(jù)結(jié)構(gòu)就是隊列。Java提供的線程安全的Queue可以分為 阻塞隊列和非阻塞隊列 ,其中阻塞隊列的典型例子
發(fā)表于 11-28 16:14
?3380次閱讀
![Java多線程總結(jié)之<b class='flag-5'>Queue</b>](https://file1.elecfans.com//web2/M00/A6/F9/wKgZomUMQZCAVXuhAAAn9dhVoKo222.png)
ThreadX(九)------消息隊列Queue
消息隊列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(九)------消息隊列<b class='flag-5'>Queue</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
OpenHarmony語言基礎(chǔ)類庫【@ohos.util.Queue (線性容器Queue)】
Queue的特點是先進先出,在尾部增加元素,在頭部刪除元素。根據(jù)循環(huán)隊列的數(shù)據(jù)結(jié)構(gòu)實現(xiàn)。
![OpenHarmony語言基礎(chǔ)類庫【@ohos.util.<b class='flag-5'>Queue</b> (線性容器<b class='flag-5'>Queue</b>)】](https://file1.elecfans.com/web2/M00/C6/C5/wKgaomYCyYKAZp6HAAB4LWPdpdQ014.jpg)
評論