数据结构--顺序栈的实现

数据结构–顺序栈的实现

顺序栈的定义

顺序栈的定义代码实现

#define MaxSize 10
typedef struct 
{ElemType data[MaxSize]; //静态数组存放栈中元素int top; //栈顶指针
} SqStack;int main()
{SqStack S; //声明一个顺序栈(分配空间)//... ...return 0;
}

一些常见操作

初始化操作

void InitStack(SqStack &S)
{S.top = -1; //初始化栈顶指针
}

判断栈空

bool StackEmpty(SqStack S)
{return S.top == -1;
}

进栈操作

bool Push(SqStack &S, ElemType x)
{if (S.top == MaxSize - 1)   return false; //栈满S.data[++S.top] = x;return true;
}

出栈操作

bool Pop(SqStack &S, ElemType &x)
{if (S.top == -1)    return false;x = S.data[S.top--];return true;
}

读栈顶元素操作

bool GetTop(SqStack S, ElemType &x)
{if (S.top == -1)    return false;x = S.data[S.top];return true;
}

共享栈

两个栈共享同一片空间

共享栈定义代码实现

typedef struct 
{ElemType data[MaxSize]; //静态数组存放栈中元素int top0; //0号栈栈顶指针int top1; //1号栈栈顶指针
} ShqStack;void InitStack(ShqStack &S)
{S.top0 = -1;S.top1 = MaxSize;
}

栈满的条件 \color{purple}栈满的条件 栈满的条件:top0+ 1 == top1

知识点回顾与重要考点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/1013.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器视觉初步8:特征提取专题

文章目录 1.角点检测2.纹理特征提取3.特征描述符匹配3.1 Harris角点描述符3.2 SIFT(尺度不变特征变换)描述符3.3 SURF(加速稳健特征)描述符 4.基于深度学习的特征提取 在机器视觉中,特征提取是从目标图像中提取有用的视…

linux - spin lock实现分析

linux - spin lock实现分析 spinlock1 spinlock的数据结构2 spinlock的接口2.1 spin_lock_init2.2 spin_lock2.3 spin_unlock2.4 spin_lock_irq2.5 spin_unlock_irq2.6 spin_lock_irqsave2.7 spin_unlock_irqrestore2.8 spin_lock_bh2.9 spin_unlock_bh spinlock 1 spinlock的数…

我心中的TOP1编程语言—JavaScript

作为一名研发工程师(程序员),平时工作中肯定会接触或了解很多编程语言。每个人都会有自己工作中常用的语言,也会有偏爱的一些编程语言。而我心中的最爱,毫无疑问,就是 JavaScript。 JavaScript 是一门编程…

华为MateBook 16 2021款锐龙版R7(CREM-WFD9)(CREM-WFG9)原装出厂Win11系统工厂模式,恢复原厂系统

HUAWEI华为笔记本电脑,MateBook 16 2021款 锐龙版 R7(CREM-WFD9) (CREM-WFG9) 原厂Windows11系统,带F10恢复功能,原装OEM专用系统,恢复出厂状态 系统自带所有驱动、出厂主题壁纸LOGO、Office办公软件、华为电脑管家等预装程序 …

记录--不定高度展开收起动画 css/js 实现

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 不定高度展开收起动画 最近在做需求的时候,遇见了元素高度展开收起的动画需求,一开始是想到了使用 transition: all .3s; 来做动画效果,在固定高度的情况下&#xf…

【嵌入式模型转换】2. 算能盒子SE5 芯片板子BM1684 sophon-pipeline

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言1. 开始安装 前言 文章1,我们在SE5上实现了,SOC模式下的 C 和 python-sail的模型转换,文章连接: 【嵌入式模型转…

微服务实战项目-学成在线-课程发布模块

学成在线-课程发布模块 1 模块需求分析 1.1 模块介绍 课程信息编辑完毕即可发布课程,发布课程相当于一个确认操作,课程发布后学习者在网站可以搜索到课程,然后查看课程的详细信息,进一步选课、支付、在线学习。 下边是课程编辑…

观察者模式(二十)

相信自己,请一定要相信自己 上一章简单介绍了迭代器模式(十九), 如果没有看过, 请观看上一章 一. 观察者模式 引用 菜鸟教程里面 观察者模式介绍: https://www.runoob.com/design-pattern/observer-pattern.html 当对象间存在一对多关系时,则使用观察…

【MySQL】MySQL中SQL执行流程

文章目录 一、MySQL语句执行流程1.1、主要的原因有以下几点1.2、具体执行流程图如下 二、存储引擎三、MySQL的架构与内部模块四、崩溃恢复时如何判断事务是否需要提交 一、MySQL语句执行流程 连接器(Connector): 当客户端发送一个连接请求时…

矩阵通引入AIGC,帮助企业挖掘用户线索

据CNNIC报告数据,截止2022年6月,我国网民规模达10.51亿,其中短视频用户规模为9.62亿,网络直播用户规模达7.16亿,占网民整体的68.1%。 庞大的用户体量为直播带货奠定了基础,给品牌商家提供了新流量阵地&…

自动刷新工具--可以自动编辑安居客房源信息

本工具可以自动刷新安居客的房源信息,不是爬虫,就是一款解放劳动力的RPA工具 使用方法: 1. 首先输入要自动刷新的房源id 2.点击 开始执行 如果需要免密登陆,需要在个人中心填上anjuke的账密 定时执行 声明:此工具只是…

我是怎么把win11一步一步变成Mac的

目录 【三指拖动】 【空格预览】 【切换Ctrl和Alt】 【使用Linux命令】 【其它】 之前很长一段时间在MacBook上面开发习惯了,然后因为一些原因现在换到了windows上面,不管是使用上还是系统上都很不习惯,因此做了一些改造,…