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

news2025/2/21 20:55:57

数据结构–顺序栈的实现

顺序栈的定义

顺序栈的定义代码实现

#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.coloradmin.cn/o/701825.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据的金融数据读取及分析(-)

由于考虑商业数据问题,我们用开源数据做演示 一.tushare开源数据 Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据&#x…

postgresql_internals-14 学习笔记(七)—— parallel 并行

不完全来自这本书,把查到的和之前的文章重新汇总整理了一把。 一、 核心参数 几个容易弄混的进程和参数,关系图如下 1. max_worker_processes 整个实例可以同时运行的Background workers Processes最大数量默认值为8,设置为0表示禁用并行&…

STM32与树莓派:嵌入式系统开发与教育计算的区别

STM32和树莓派是两种不同的硬件平台,用于不同的应用领域。 STM32:STM32是一系列由STMicroelectronics(意法半导体)生产的32位ARM Cortex-M微控制器。它们被广泛用于嵌入式系统开发,包括消费电子产品、工业自动化、汽车…

CNN池化总结(最大池化与平均池化)

目录 概念 两种主要池化方式 最大池化 平均池化 尺寸变化过程 池化优点 总结 概念 池化(Pooling),用于减小卷积神经网络(CNN)或其他类型神经网络的特征图(Feature Map)的尺寸&#xff0…

java 网络教学平台Myeclipse开发mysql数据库web结构jsp编程计算机网页项目

一、源码特点 JSP 网络教学平台 是一套完善的系统源码,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,以及相应配套的设计文档,系统主要采用B/S模式开发。 研究的基本内容是基于Web的网络教学平台&…

【SWAT水文模型】SWAT-CUP参数率定过程问题总结

SWAT-CUP参数率定过程问题总结 Q1 SWAT-CUP中calibrate按钮一直是灰色无法点击?1.1 问题描述1.2 解决办法 Q2 “SWAT”不是内部命令1.1 问题描述1.2 解决办法 参考 Q1 SWAT-CUP中calibrate按钮一直是灰色无法点击? 1.1 问题描述 软件是从2W2E上下载的SWAT-CUP2019&#xff…

XILINX ZYNQ 7000 BOOT

参考UG585 内容 下面这张图是ZYNQ启动的关键流程 1.POR表示硬件复位,不关心Power-up也就是说冷热启动都行。Nor-POR就是非POR复位,有点软件应用复位的意思。 2.POR复位会复位所有寄存器。并且采集 HardWare boot pin的状态。这点很关键, 3.是…

mysql一些常用函数

group_concat()函数首先根据group by指定的列进行分组,并且用分隔符分隔,将同一个分组中的值连接起来,返回一个字符串结果。 group_concat([distinct] 字段名 [order by 排序字段 asc/desc] [separator 分隔符])-- 指定排序方式和分隔符 se…

STM32F407 滴答定时器

介绍STM32F407滴答定时器配置方法、使用方式,封装延时函数得到精确的时间。 【1】介绍滴答定时器的章节 STM32F407参考手册中第10章介绍了滴答定时器的校准值。 M4权威指南介绍滴答定时器的章节,M3权威指南中与M4权威指南中的介绍一样。 【2】滴答定时…

Windows 引导启动流程详述(BIOS-UEFI)

Windows 启动流程详述 BIOS 和 UEFI 的由来BIOS 存在哪里BIOS 程序的功能BIOS 和 UEFI 的发展由来如何查看当前计算机是什么方式引导启动呢?Linux 下如何查看 BIOS 大小? 启动流程详述使用 BIOS 进行系统启动流程使用 UEFI 进行系统启动流程SEC阶段PEI阶…

专项练习15

目录 一、选择题 1、如果要打开名为 “window2"的新窗口,可以通过() 2、下列事件哪个不是由鼠标触发的事件() 3、Angular指令中哪种作用域可以继承父scope 4、下列哪些事件不支持冒泡?()…

微信小程序学习记录2 案例分享<智能家居UI>

效果 思路 页面分为4块 前三块 采用同样的class 替换三张矢量图 绑定三个单片机返回的JSON值 最后一块又分为左右两部分 左边部分 采用switch组件 绑定三个事件 右边部分则是普通的文字

记录生产mysql死锁解决过程

最近生产上每个星期都会有几次死锁告警异常,今天终于给处理了,待后续观察,记录下整个过程。 环境:springboot、mybatis、mysql(RC隔离级别) 表结构: CREATE TABLE table1 (id bigint NOT NULL AUTO_INCREMENT,prize…

ASP.NET Core MVC 从入门到精通系列文章(完)

随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生&#xff0c…

redis高可用与持久化

文章目录 一、Redis 高可用1. 概念2. 高可用技术以及作用2.1 持久化2.2 主从复制2.3 哨兵2.4 集群 二、Redis 持久化1. 持久化的功能2. Redis 持久化方式 三、RDB 持久化1. 概述2. 触发条件2.1 手动触发2.2 自动触发2.3 其他自动发机制 3. 执行流程4. 启动时加载 四、AOF 持久化…

自动驾驶货车编队行驶-车辆通讯应用层数据交互要求

1 范围 本文件规定了合作式自动驾驶货车编队行驶时车辆通信应用层数据交互的通信系统架构、通用要求、 数据交互要求、消息层数据集定义等。本文件仅涉及编队成员内部进行编队控制及成员管理相关的车-车通 信交互,不涉及编队与其他实体(云平台、路侧单元…

关于jetBrains的插件translation的使用

文章目录 前言国内使用问题关于无法翻译问题关于无法语音解析问题关于百度翻译Api获取关于百度引擎的invalid account(未解决)关于阿里翻译Api获取关于阿里翻译引擎Wrong request parameter(未解决)有道翻译Api关于有道Ip Address错误(未解决) 前言 translation是一个非常好用…

chatgpt赋能python:Python长浮点型介绍

Python长浮点型介绍 Python是一种强大的编程语言,通过其众多的数据类型,使开发人员可以快速开发复杂的应用程序。其中,Python长浮点型就是Python支持的一种数据类型。长浮点型是指Python可以处理的浮点数的精度可以高达256位。 Python长浮点…

大像素全景,如何让自己的VR全景变得具有高级感?

一个成功的VR全景作品,如果想要在商业领域上获得一定影响力,那么VR全景本身的质量就是关键,如何让自己的VR全景变得具有高级感呢? 从艺术表达手法上,航拍是对VR全景很好的诠释,通过VR全景航拍,人…

Redis进阶 - Redis分片集群

原文首更地址,阅读效果更佳! Redis进阶 - Redis分片集群 | CoderMast编程桅杆https://www.codermast.com/database/redis/redis-advance-sharded-cluster.html 搭建分片集群 主从和哨兵可以解决高可用、高并发读的问题。但是依然有两个问题没有解决&a…