C++ stl queue(单端队列)和stl deque(双端队列)的区别(与循环队列的区别)
Posted Dontla
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ stl queue(单端队列)和stl deque(双端队列)的区别(与循环队列的区别)相关的知识,希望对你有一定的参考价值。
文章目录
queue示例
#include <queue>
#include <iostream>
using namespace std;
int main()
queue<int> q;
//cout << "队头元素为:" << q.front() << endl; //运行报错,队列必须先判空,下同
//cout << "队尾元素为:" << q.back() << endl;
for (int i = 0; i < 10; i++)
q.push(i);
if (!q.empty())
cout << "队列q非空!" << endl;
cout << "q中有" << q.size() << "个元素" << endl;
cout << "队头元素为:" << q.front() << endl;
cout << "队尾元素为:" << q.back() << endl;
int size = q.size();
for (int j = 0; j < size; j++)
cout << q.front() << " ";
q.pop();
cout << endl;
if (!q.empty())
cout << "队列非空!" << endl;
else
cout << "队列为空!" << endl;
system("pause");
return 0;
deque示例
循环队列?
老看有人自行实现循环队列,但直接用stl queue不就行了,还用自行实现循环队列吗?我有点懵逼
看到篇文章说std::deque被相当仔细地定义为线性队列。它的设计并不真正适合循环队列
,不知是真是假
以上是关于C++ stl queue(单端队列)和stl deque(双端队列)的区别(与循环队列的区别)的主要内容,如果未能解决你的问题,请参考以下文章