栈和队列:

一、栈:

1、先进后出
2、分类:
顺序栈:顺序表—数组——用于

1、数制转换 N!=0;N=N/8,N%8入栈 ;顺序出栈

2、括号匹配 :左括号直接进栈,右括号先看是否空(空:出错)非空,栈顶匹配

3、行编程问题:#代表退格符,当遇到非#进栈,是的话栈顶数据元素出栈,直到结束。

4、迷宫求解:入口入栈——顺时针可通——入栈——都不可通——直接删除栈顶——判断栈为不为空嘛

链式存储结构:

1、单链表头部作栈顶,只在头部做插入删除操作,实现进出栈。

2、入栈:s->data=e;s->next=top;top=s;O(1)

3、出栈:p=top;top=top->next;delete p;O(1)


二、队列:

1、定义:限定队尾插入,队头删除的线性表
2、先进先出
3、存储结构:
3、1顺序存储结构

顺序队列:front:队头        rear:队尾

假溢:rear无法插入数据,front前面还有空间。

解决变法——循环队列


循环队列:

1、看成首尾相接的圆环

2、模除得位置

3、

初始:front=rear;

入队:rear=(rear+1)/size;   O(1)

出队:front:(front+1)/size;  O(1)

判满:front=rear+1;


3、2链式存储结构:

1、链表结构

2、入队:s->next=rear->next;rear->nxt=s;rear=s;

3、出队:p=front->next;    front->next=p->next;    delete p;







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值