其他分享
首页 > 其他分享> > 用数组模拟栈和队列

用数组模拟栈和队列

作者:互联网

用数组模拟栈(先进后出)

基本操作 插,删,判断是否为空,弹出栈顶元素

1.建立一个数组,相当如栈,tt表示栈顶的下标,tt初始化为0。

插入元素

#include <iostream>
using namespace std;
const int N=101010;
int stk[N],tt;
int main(){
stk[++tt]=x;}

弹出元素

tt--

判断栈是否为空

就是判断tt是否大于0;

if(tt>0)不为空
else 空

栈顶元素

stk[tt]

模拟队列(先进先出)在队尾插入元素,在队头弹出元素

基本操作:

建立一个数组模拟队列,hh表示队头元素(初始化为0),tt表示队尾元素(初始化为-1)

队尾插入一个元素

#include <iostream>
using namespace std;
const int N=11010;
int q[N],hh,tt=-1;
int main(){
q[++tt]=x}

对首弹出一个元素

 直接hh++,队首往后移动一位,前面一个元素就弹出来了。

hh++

判断队列是否为空

if(hh<=tt)不为空
else 为空。

取出队首,队尾元素

q[hh]
q[tt]

标签:队尾,队列,tt,元素,++,int,hh,数组,模拟
来源: https://blog.csdn.net/m0_62000951/article/details/122278950