数据结构【第三章知识点小结】

本文详细介绍了栈和队列这两种重要的数据结构。栈遵循后进先出(LIFO)原则,常用于表达式求值、递归调用等;队列则遵循先进先出(FIFO)原则,常见于任务调度、打印队列等场景。顺序存储和链式存储是它们的主要实现方式,循环队列解决了顺序队列满和空的问题。理解并掌握这些概念对于理解和编写高效的算法至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

提示:这里可以添加本文要记录的大概内容:

第三章知识点小结

栈和队列的定义和特点—栈

1.定义:只能在一端(栈顶)进行插入和删除运算的线性表

2.逻辑结构:与线性表相同,仍为一对一关系。

3.存储结构:用顺序栈或链栈存储均可,但以顺序栈更常见。

4.运算规则:只能在栈顶运算,且访问结点时依照后进先出(LIFO)或先进后出(FILO,First In Last Out)的原则。

5.实现方式:基本操作有入栈、出栈、读栈顶元素值、建栈、判断栈满、栈空等。

栈和队列的定义和特点—队列

1.定义:只能在表的一端(队尾)进行插入,在另一端(队头)进行删除运算的线性表

2.逻辑结构:与线性表相同,仍为一对一关系

3.存储结构:用顺序队列或链队存储均可

4.运算规则:先进先出(FIFO)

5.实现方式:关键是编写入队和出队函数,具体实现依顺序队或链队的不同而不同

逻辑结构存储结构运算规则
一般线性表一对一顺序表、链表随机存取、顺序存取
一对一顺序栈、链栈FILO
队列一对一顺序队、链队FIFO

栈的表示

空栈

base == top 是栈空标志

top 指示真正的栈顶元素之上的下标地址

队列的表示

空队标志:front= =rear

入队:base[rear]=x; rear++;

rear始终指向最后一个元素的后面

出队:x=base[front]; front++;

循环队列

1.队空:front==rear

2.队满:(rear+1)%M==front

3.入队:

base[rear]=x;

rear=(rear+1)%M;

4.出队:

x=base[front];

front=(front+1)%M;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MIKE笔记(同名B站)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值