用数组模拟栈和队列
作者:互联网
用数组模拟栈(先进后出)
基本操作 插,删,判断是否为空,弹出栈顶元素
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