C++模拟实现queue

1.前言

queue 遵循的原则是先进先出,那到底是用list 还是 vector呢?其实都可以,但是严格来讲vector是不可以的,因为他头删的效率太低了。所以vs官方是不允许用vector的:

C++模拟实现queue_第1张图片

 因为底层的pop用的是pop_front(), vector是没有这个接口的,但是如果改成c.erase(c.begin())就可以了。但是既然底层都不同意,那我们也没必要,因为那样效率确实很低了。

 

        但是库里面用了一种新的类型,deque,它的实现可以看C++中deque的底层讲解_Qianxueban的博客-CSDN博客

2.记得引用是像.c文件一下包含头文件,并且using namespace std;要在#include"quque.h"之前,因为头文件是向上查找

C++模拟实现queue_第2张图片

 

2.代码实现

C++模拟实现queue_第3张图片

 

你可能感兴趣的:(c++,开发语言)