一、什么是 queue?
queue 容器,又稱(chēng)隊(duì)列容器,是簡(jiǎn)單地裝飾deque容器而成為另外的一種容器。
二、容器特性
1.雙開(kāi)口容器
實(shí)際上該容器模擬的就是隊(duì)列存儲(chǔ)結(jié)構(gòu),只能從尾部插入元素,只能從頭部刪除元素。(先進(jìn)先出,類(lèi)似于排隊(duì))
2.不支持迭代器
只能通過(guò)固定的函數(shù)插入、訪問(wèn)和刪除
三、基本函數(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;判斷容器中是否有元素,若無(wú)元素,則返回 true;反之,返回 false。
6.大小函數(shù)
- int size() const;返回隊(duì)列中元素的個(gè)數(shù)
7.其他函數(shù)
- void swap(queue&);交換兩個(gè)同類(lèi)型隊(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)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。
舉報(bào)投訴
-
容器
+關(guān)注
關(guān)注
0文章
495瀏覽量
22060 -
隊(duì)列
+關(guān)注
關(guān)注
1文章
46瀏覽量
10893 -
Queue
+關(guān)注
關(guān)注
0文章
16瀏覽量
7261
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
Linux kernel的wait queue機(jī)制
當(dāng)編寫(xiě)Linux驅(qū)動(dòng)程序、模塊或內(nèi)核程序時(shí),一些進(jìn)程會(huì)等待或休眠一些事件。Linux中有幾種處理睡眠和醒來(lái)的方法,每種方法對(duì)應(yīng)不同的需求,而wait queue便是其中一種。
發(fā)表于 06-15 10:54
?715次閱讀
RAW queue 篇
1queue支持FIFO 和PRIO 的任務(wù)阻塞策略,如果是FIFO 的話阻塞隊(duì)列的順序是按照先來(lái)后到的次序去排列阻塞任務(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問(wèn)題
我在使用EDMA +Mcbsp0用于接收外部數(shù)據(jù)時(shí)候,遇到一個(gè)很奇怪的問(wèn)題,如果我將Mcbsp0的接收通道映射到event queue 1沒(méi)有任何問(wèn)題,但是映射到其他3個(gè)event queue就會(huì)
發(fā)表于 06-24 00:56
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資料,快來(lái)學(xué)習(xí)吧
發(fā)表于 04-15 17:49
?13次下載
Linux之work_queue_custom教程
Linux之work_queue_custom教程,很好的Linux自學(xué)資料,快來(lái)學(xué)習(xí)吧。
發(fā)表于 04-15 17:49
?8次下載
Linux之work_queue_delay_work教程
Linux之work_queue_delay_work教程,很好的Linux自學(xué)資料,快來(lái)學(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
?3304次閱讀
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次下載
隊(duì)列Queue的常用方法有哪些
FIFO(先入先出)隊(duì)列Queue,LIFO(后入先出)隊(duì)列LifoQueue,和優(yōu)先級(jí)隊(duì)列PriorityQueue。
OpenHarmony語(yǔ)言基礎(chǔ)類(lèi)庫(kù)【@ohos.util.Queue (線性容器Queue)】
Queue的特點(diǎn)是先進(jìn)先出,在尾部增加元素,在頭部刪除元素。根據(jù)循環(huán)隊(duì)列的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。
評(píng)論