用数组模拟栈和队列

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

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

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]

上一篇:项目重要代码二


下一篇:Fiddler 抓取Https时 显示 Tunnel to 443 的解决方案2