C++数组模拟栈和队列

93 阅读1分钟

作用:

用数组模拟栈和队列是我们常用的方式,是一种后进先出的数据结构,类似日常生活中的水瓶,在同一端插入和删除数据,例如我们打开游戏背包页面本质就是栈,后打开的先浏览先关闭队列是一种先进先出的数据结构。

数组模拟栈

代码模板

#include <iostream>

using namespace std;

int stk[N], tt = 0;

//插入x
stk[++tt] = x;

//删除元素
--tt;

//栈是否为空
if(tt > 0){
    //不为空;
}else{
    //空
}

数组模拟队列

普通队列

代码模板

#incude <iostream>

int q[N] , hh =  0, tt = -1;

//插入元素
q[++ tt]  = x;

//删除元素 
++hh;

//判断是否为空
if(tt >= hh){
    //不为空
}else{
    //为空
}

循环队列

代码模板

#include <iostream>

using namespace std;

int q[N], hh = 0, tt = 0;

//插入元素
q[++tt]  = x;

//删除元素
++hh;

if(tt == N) tt = 0;
if(hh == N) hh = 0;

//判断是否为空
if(tt != hh){
    //不为空
}else{
    //空
}


欢迎交流~~~