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