数据结构C++队列(数组模拟)

队列也是比较简单的数据结构了,队列的特点是先进先出

下面代码中hh是队头,tt是队尾。

默认是从队尾插入数据,队头弹出数据。

数据结构C++队列(数组模拟)_第1张图片

代码中的数据结构可以使用这图片来解释,整个区间是数组q。hh和tt分别控制队头和队尾。 

例题:https://www.acwing.com/activity/content/problem/content/866/

#include
using namespace std;
const int N=1e5+10;
int q[N],hh,tt=-1;
int main()
{
    int m,x;
    cin>>m;
    while(m--)
    {
        string op;
        cin>>op;
        if(op=="push")
        {
            //向队尾插入一个元素
            cin>>x;
            q[++tt]=x;
        }
        if(op=="pop")
        {
            //向队头弹出一个数
            hh++;
        }
        if(op=="empty")
        {
            //判断队列是否为空
            if(tt>=hh)
            {
                cout<<"NO"<

 

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