顺序栈练习
顺序栈练习
相关内容:
1.判断顺序栈栈满的两种方式
2.一张图理解栈顶指针加加减减的问题
3.栈的顺序存储结构(顺序栈)
//顺序栈的初始化、判空、入栈、出栈、读取栈顶元素
//顺序栈的结构:数组、栈顶指针(本质是下标)
#include<stdio.h>
#define MAXSIZE 10
typedef int Status;
#define TRUE 1
#define FALSE 0
typedef struct
{int data[MAXSIZE];int top;//栈顶指针指向栈顶元素是上一个位置
}SqStack;
//顺序栈的初始化:初始化栈顶指针
Status InitSqStack(SqStack *S){S->top=-1;return TRUE;
}
//顺序栈的判空(使用前,不是使用时):栈顶指针为-1
Status isEmpty(SqStack *S){if (S->top==-1)return TRUE;elsereturn FALSE;
}
//顺序栈的入栈:判满,栈顶指针+1,添加元素
Status Push(SqStack *S,int e){if (S->top==MAXSIZE-1)//判满return FALSE;S->data[++S->top]=e;//先使用top后++return TRUE;
}
//顺序栈的出栈:判空,栈顶元素出栈,栈顶指针-1
Status Pop(SqStack *S,int *e){if (S->top==-1)//判空return FALSE; else{*e=S->data[S->top--];return TRUE;}
}
//顺序栈的读取栈顶元素:判空,返回元素
Status GetElem(SqStack *S,int *e){if (S->top==-1)//判空return FALSE; else{*e=S->data[S->top];return TRUE;}
}
int main(){int n,e;SqStack S;InitSqStack(&S);printf("初始化完成!\n");if (!isEmpty(&S))//使用前判空printf("栈空!\n");printf("输入需要进栈的元素个数:");scanf("%d",&n);for (size_t i = 0; i < n; i++){printf("输入第%d个进栈元素:",i+1);scanf("%d",&e);Push(&S,e);}GetElem(&S,&e);printf("栈顶元素为:%d\n",e);printf("所有元素出栈\n");for (size_t i = 0; i < n; i++){printf("输出第%d个出栈元素:",i+1);Pop(&S,&e);printf("%d\n",e);}return 0;
}

相关文章:
顺序栈练习
顺序栈练习 相关内容: 1.判断顺序栈栈满的两种方式 2.一张图理解栈顶指针加加减减的问题 3.栈的顺序存储结构(顺序栈) //顺序栈的初始化、判空、入栈、出栈、读取栈顶元素 //顺序栈的结构:数组、栈顶指针(本质是下标) #include&…...
安全与HTTP协议:为何明文传输数据成为争议焦点?
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 ⭐ 专栏简介 📘 文章引言 一、H…...
【笔记】excel怎么把汉字转换成拼音
1、准备好excel文件,复制需要转拼音列。 2、打开一个空白Word文档,并粘贴刚才复制的内容; 3、全选Word文档中刚粘贴的内容,点击「开始」选项卡「字体」命令组下的「拼音指南」,调出拼音指南对话框; 4、全…...
opencv官网文档学习
文章最后有一些图片资源 1.图像处理基本使用 import cv2# 读取图像 image cv2.imread("images/1.png", cv2.IMREAD_GRAYSCALE) print("image:",image)# 显示图像 namedWindow cv2.namedWindow("images/1.png") cv2.imshow("images/1.pn…...
Android性能优化--Perfetto用SQL性能分析
Android性能优化–Perfetto用SQL性能分析 文章目录 Android性能优化--Perfetto用SQL性能分析介绍Perfetto SQL 基础使用 Perfetto SQL 进行性能分析总结 本文首发地址 https://blog.csdn.net/CSqingchen/article/details/134167741 最新更新地址 https://gitee.com/chenjim/che…...
NLP之Bert实现文本分类
文章目录 1. 代码展示2. 整体流程介绍3. 代码解读4. 报错解决4.1 解决思路4.2 解决方法 5. Bert介绍5.1 什么是BertBERT简介:BERT的核心思想:BERT的预训练策略:BERT的应用:为什么BERT如此受欢迎?总结: 1. 代…...
Pytorch从零开始实战08
Pytorch从零开始实战——YOLOv5-C3模块实现 本系列来源于365天深度学习训练营 原作者K同学 文章目录 Pytorch从零开始实战——YOLOv5-C3模块实现环境准备数据集模型选择开始训练可视化模型预测总结 环境准备 本文基于Jupyter notebook,使用Python3.8,…...
docker部署Jenkins(Jenkins+Gitlab+Maven实现CI/CD)
GitLab介绍 GitLab是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。…...
mapbox使用marker创建html点位信息
mapbox使用marker创建html点位信息 codePen地址 mapboxgl.accessToken "pk.eyJ1IjoibGl1emhhbzI1ODAiLCJhIjoiY2xmcnV5c2NtMDd4eDNvbmxsbHEwYTMwbCJ9.T0QCxGEJsLWC9ncE1B1rRw"; const center [121.29786, 31.19365]; const map new mapboxgl.Map({container: &quo…...
项目构建工具maven的基本配置
👑 博主简介:知名开发工程师 👣 出没地点:北京 💊 2023年目标:成为一个大佬 ——————————————————————————————————————————— 版权声明:本文为原创文…...
超详细docker学习笔记
关于docker 一、基本概念什么是docker?docker组件:我们能用docker做什么Docker与配置管理:Docker的技术组件Docker资源Docker与虚拟机对比 二、安装docker三、镜像命令启动命令帮助命令列出本地主机上的镜像在远程仓库中搜索镜像查看占据的空间删除镜像…...
Adobe acrobat 11.0版本 pdf阅读器修改背景颜色方法
打开菜单栏,编辑,首选项,选择辅助工具项,页面中 勾选 替换文档颜色,页面背景自己选择一个颜色,然后确定,即可!...
HCIA数据通信——路由协议
数据通信——网络层(OSPF基础特性)_咕噜跳的博客-CSDN博客 数据通信——网络层(RIP与BGP)_咕噜跳的博客-CSDN博客 上述是之前写的理论知识部分,懒得在实验中再次提及了。这次做RIP协议以及OSPF协议。不过RIP协议不常用…...
十种常见典型算法
什么是算法? 简而言之,任何定义明确的计算步骤都可称为算法,接受一个或一组值为输入,输出一个或一组值。(来源:homas H. Cormen, Chales E. Leiserson 《算法导论第3版》) 可以这样理…...
python-列表推导式、生成器表达式
一、列表推导式 列表推导式:用一句话来生成列表 语法:[结果 for循环 判断] 筛选模式: 二、生成器表达式...
NLP 模型中的偏差和公平性检测
一、说明 近年来,自然语言处理 (NLP) 模型广受欢迎,彻底改变了我们与文本数据交互和分析的方式。这些基于深度学习技术的模型在广泛的应用中表现出了卓越的能力,从聊天机器人和语言翻译到情感分析和文本生成。然而&…...
YUV图像格式详解
1.概述 YUV是一种图像颜色编码方式。 相对于常见且直观的RGB颜色编码,YUV的产生自有其意义,它基于人眼对亮度比色彩的敏感度更高的特点,使用Y、U、V三个分量来表示颜色,并通过降低U、V分量的采样率,尽可能保证图像质…...
软考高项-质量管理措施
质量规划 编制《项目质量规划书》、《项目验收规范》等质量文件,对文件进行评审,对项目成员进行质量管理培训; 质量保证 评审、过程分析、定期对项目进行检查并跟踪改进情况; 质量控制 测试、因果分析、变更、统计抽样等。 80/…...
Redis那些事儿(一)
说到redis大家都不陌生,其中包括:共有16个数据库,默认为第0个数据库;数据以key-value键值的形式存储;数据类型包括String、List、Hash、Set等,其中最常用的是字符串;是单线程的、基于内存的&…...
【多媒体文件格式】M3U8
M3U8 M3U8文件是指UTF-8编码格式的M3U文件(M3U使用Latin-1字符集编码)。M3U文件是一个记录索引的纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。 m3u8基本上可以认为就是.m3u格式文件&#x…...
如何高效实现30+输入法词库互转:一站式智能转换方案解放生产力
如何高效实现30输入法词库互转:一站式智能转换方案解放生产力 【免费下载链接】imewlconverter ”深蓝词库转换“ 一款开源免费的输入法词库转换程序 项目地址: https://gitcode.com/gh_mirrors/im/imewlconverter 你是否曾因更换输入法而不得不放弃多年积累…...
Mi-Create:零基础也能设计小米手表个性表盘的终极可视化工具
Mi-Create:零基础也能设计小米手表个性表盘的终极可视化工具 【免费下载链接】Mi-Create Unofficial watchface creator for Xiaomi wearables ~2021 and above 项目地址: https://gitcode.com/gh_mirrors/mi/Mi-Create 你是否厌倦了小米手表官方表盘商店的单…...
i.MX6Q烧录翻车实录:从‘No Device Connected’到‘Push error’,我拔掉一个USB WiFi才搞定
i.MX6Q烧录实战:当USB设备冲突遇上OTG接口的排查指南 那天下午的阳光透过窗户斜射进实验室,我正对着i.MX6Q开发板进行例行固件更新。Mfgtools工具已经准备就绪,开发板电源接通,一切看起来都很完美——直到屏幕上跳出那个令人沮丧…...
工业软件与高性能算力融合:重构智能制造核心引擎
在制造业数字化转型向纵深推进的今天,工业软件与高性能算力的深度融合,正在成为驱动高端制造、关键装备、核心工业领域突破瓶颈的关键力量。长期以来,我国工业领域面临着研发周期长、仿真效率低、系统集成复杂、国产化替代缓慢等多重难题&…...
基于串口屏的智能油烟机人机交互方案设计与工程实践
1. 项目概述:油烟机交互的“智能革命”在厨房电器这个看似传统的领域,一场关于人机交互的“静默革命”正在发生。如果你拆开一台近两年上市的中高端油烟机,很可能会发现,那块显示着风量、定时、菜谱的屏幕,其核心不再是…...
Matlab 2020b隐藏技能:用Image Labeler制作自定义数据集,轻松喂给你的深度学习模型
Matlab 2020b图像标注实战:从零构建医学影像分割数据集 在医学影像分析领域,数据标注的质量直接决定了深度学习模型的性能上限。许多研究者花费大量时间调试模型结构,却忽略了最基础的数据准备环节。Matlab 2020b内置的Image Labeler工具&am…...
OpenClaw 上下文瘦身:3 个实验
这篇不是讲“提示词怎么写得更优雅”。我只看一个更硬的问题:Agent 跑久以后,上下文到底是怎么胖起来的,哪一刀最值得先砍。实验脚本和结果都放在本地目录里,可以复跑。你大概见过这种故障: Agent 前 10 分钟很听话&am…...
别再手动改文献了!手把手教你定制Mendeley的GB/T 7714-2005引用格式(附常见问题修复)
深度定制Mendeley文献引用格式:GB/T 7714-2005实战指南 科研写作中,文献引用格式的规范性直接影响论文的专业程度。许多研究者在使用Mendeley内置的GB/T 7714-2005格式时,常遇到作者名全大写、et al.显示异常等问题。本文将提供一套完整的解…...
BesTV_R3300-L S905L芯片刷机实战:从驱动识别到固件烧录的完整避坑指南
1. 认识你的BesTV_R3300-L盒子 我手头这台BesTV_R3300-L盒子已经吃灰大半年了,原厂系统用起来卡顿不说,还经常弹出各种广告。拆开外壳看到S905L芯片的那一刻,我就知道这玩意儿有救——毕竟这是刷机圈里的"老熟人"了。先给新手朋友科…...
Raspberry Pi Pico手动进入Bootloader模式:解决Arduino IDE上传失败
1. 项目概述:为什么我们需要手动进入Bootloader模式?如果你玩过Raspberry Pi Pico,并且尝试用Arduino IDE给它上传程序,大概率会遇到这么个情况:你满怀期待地点击了“上传”按钮,IDE底部的状态栏开始滚动编…...
