栈和队列重点|数据结构

一、栈的特点(栈顶栈底)

只允许在同一端进行插入和删除的线性表
栈顶(top)允许插入删除
栈底(bottom)封死
线性表任意位置进、任意位置出

FILO(First In Last Out 先进后出)

顺序栈(用数组实现栈的存储)

#define MAX 100
typedef int datatype

typedef struct 
{
	datatype data[MAX];
	int top;    //线性表的实际长度
	默认bottom=0
}seqstack;

二、栈的基本函数

top的位置

线性表基本操作

1.进栈

在这里插入图片描述

2.用于输出的子函数

在这里插入图片描述

3.主函数

在这里插入图片描述

4.退栈

在这里插入图片描述

三、栈的应用

括号匹配检验

1.三种括号

在这里插入图片描述

2.进制转换(10转2.8.16/2.8.16转10)

十进制转二进制

在这里插入图片描述
在这里插入图片描述

十进制转2、8、16

在这里插入图片描述

四、队列的特点

队头(front删除)/队尾(rear插入)

队头(front)队尾(rear)
删除插入
#define MAX 100
typedef int datatype
typedef struct
{
	datatype data[MAX];
	int front;
	int rear;
}sequeue;

五、队列的基本函数

//插入
sq->data[sq->rear]=x;
sq->rear++;

//删除
sq->front++;

六、循环队列

取余运算

(sq->rear+1)%MAX==sq->frontsq->rear==sq->rear

入队

在这里插入图片描述

出队

在这里插入图片描述

长度

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值