8583 顺序栈的基本操作_【自考】数据结构第三章,栈、队列、数组,期末不挂科指南,第3篇...

本文介绍了栈的基本概念和运算,包括栈的顺序实现和链式实现,强调了栈的后进先出(LIFO)原则。内容涵盖初始化、判断栈空、进栈、出栈、取栈顶元素的操作。此外,文章还讨论了双栈的概念和链栈的特性,以及在自考和期末考试中可能出现的栈相关题目分析。
摘要由CSDN通过智能技术生成

2454f9c25d5c0785d5fa42e0179d55e5.png



学习目标

自考重点、期末考试必过指南,这篇文章让你理解什么是栈、什么是队列、什么是数组

掌握栈、队列的顺序存储结构和链式存储结构

掌握栈、队列的基本操作在顺序存储结构和链式存储结构上的实现

掌握矩阵的压缩存储

今天核心咱们先把栈搞清楚

栈和队列可以看做是特殊的 线性表 。它们的特殊性表现在它们的基本运算是线性表运算的子集,它们是 运算受限的线性表

栈(Stack)是运算受限的线性表,这种线性表上的插入和删除操作限定在表的一端进行

基本概念

栈顶:允许插入和删除的一端 栈尾:另一端 空栈:不含任何数据元素的栈 栈顶元素:处于栈顶位置的数据元素

书中的例子比较形象

洗盘子,放盘子,每次只能从这一摞盘子的最上面拿走,这就是栈的基本操作

看重点:栈---> ==后进先出(Last In First Out) LIFO 原则 ==

所以栈被称作 后进先出线性表 (后进先出表)

栈的插入和删除运算 分为成为 进栈和 出栈

栈的基本运算

  • 初始化 InitStack(S) 构造一个空栈S
  • 判断栈空 EmptyStack(S) 若栈为空,返回1,否则返回0
  • 进栈Push(S,x) 将元素x插入栈S中
  • 出栈Pop(S) 删除栈顶元素
  • 取栈顶GetTop(S) 返回栈顶元素

栈的顺序实现

这里面有两个小知识点在写代码之前需要掌握

空栈做出栈操作,会出现问题,叫做“下溢” 满栈做进栈操作,会出现问题,叫做“上溢”

接下来我们就用C语言实现一下

初始化一个空栈

#include <stdio.h>
#include <stdlib.h>
// 声明顺序栈的容量
const int maxsize = 6;
struct seqtack{
    
    int *da
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值