【数据结构】栈和队列

目录

定义

基本操作

队列


定义

定义:所有的插入和删除只在表的一端进行的线性表,即是一种操作受限的线性表。在表中,允许插入和删除的一端叫栈顶(top),不允许插入和删除的另一端叫栈底(bottom)。若给定栈S = (a1,a2,a3,...,an),则a1称为栈底元素,an称为栈顶元素

特点:“先进先出”或“后进后出”,栈中无任何元素时则称为空栈(n=0)

分类:静态栈和动态栈

静态栈:以数组作为基本存储方式

动态栈:类似于链表,区别是动态栈只能从头部插入和删除

操作(进栈(压栈)和出栈(弹栈))

基本操作

结构体类型定义

 入栈(压栈)

出栈(数据从下标为1开始存储:栈空的条件为S.top==0。从0开始:S.top == -1)

此处代码默认从1开始

队列

队列是线性表

队列的两种存储方式:顺序存储、链式存储

举例:排队

名词解释:

队尾(rear):这是队列中允许插入新元素的一端。在排队的例子中,新来的人会站在队伍的最后面,这就是队尾

队头(front):这是队列中允许删除元素的一端。在排队的例子中,服务是从队伍的最前面开始的,这就是队头

队列遵循先进先出(FIFO)的原则,即最先进入队列的元素将最先被服务或移除

为了避免假满的情况,可以使用循环队列 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值