【数据结构/C++】栈和队列_顺序栈

#include<iostream>
using namespace std;
#define MaxSize 10
// 1. 顺序栈
typedef int ElemType;
struct Stack {ElemType data[MaxSize];int top;
} SqStack;
// 初始化栈
void init(Stack &s) {// 初始化栈顶指针s.top = -1;
}
// 入栈
bool push(Stack &s, ElemType x)
{if (s.top == MaxSize - 1) {return false;} s.top = s.top + 1;s.data[s.top] = x;return true;
}
// 出栈
bool pop(Stack &s, ElemType &x) {if(s.top == -1) {return false;}x = s.data[s.top];s.top = s.top - 1;return true;
}
// 遍历
void traverse(Stack s) {for (int i = 0; i <= s.top; i++) {cout << s.data[i] << " ";}cout << endl;
}
// 栈的长度
int length(Stack s) {return s.top + 1;
}
int main() {Stack s;init(s);ElemType x;push(s, 1);push(s, 2);push(s, 3);push(s, 4);push(s, 5);traverse(s);pop(s, x);cout << "pop: " << x << endl;traverse(s);cout << "length: " << length(s) << endl;return 0;
}

相关文章:
【数据结构/C++】栈和队列_顺序栈
#include<iostream> using namespace std; #define MaxSize 10 // 1. 顺序栈 typedef int ElemType; struct Stack {ElemType data[MaxSize];int top; } SqStack; // 初始化栈 void init(Stack &s) {// 初始化栈顶指针s.top -1; } // 入栈 bool push(Stack &s, …...
【数据结构实验】图(一)Warshall算法(求解有向图的可达矩阵)
文章目录 1. 引言2. Warshall算法原理2.0 图的基础知识a. 类型b. 表示 2.1 初始化可及矩阵2.2 迭代更新可及矩阵 3. 实验内容3.1 实验题目(一)输入要求(二)输出要求 3.2 算法实现 4. 实验结果 1. 引言 Warshall算法是一种用于求解…...
java协同过滤算法 springboot+vue游戏推荐系统
随着人们生活质量的不断提高以及个人电脑和网络的普及,人们的业余生活质量要求也在不断提高,选择一款好玩,精美,画面和音质,品质优良的休闲游戏已经成为一种流行的休闲方式。可以说在人们的日常生活中,除了…...
Android设计模式--适配器模式
至诚之道,可以前知 一,定义 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 适配器模式在我们的开发中使用率极高,ListView,GridView&am…...
jQuery_06 基本过滤器的使用
什么是过滤器? 过滤器就是用来筛选dom对象的,过滤器是和选择器一起使用的。在选择了dom对象后在进行过滤筛选。 jQuery对象中存储的dom对象顺序与页面标签声明有关系。 声明顺序就是dom中存放的顺序 1.基本过滤器 使用dom对象在数组中的位置来作为过滤条…...
Kotlin学习——kt里面的函数,高阶函数 函数式编程 扩展函数和属性
Kotlin 是一门现代但已成熟的编程语言,旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作,并提供了多种方式在多个平台间复用代码,以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…...
AI绘画“湿地公园的美女”
1、AI绘画:湿地公园的美女 通过输入描述:你需要什么场景的什么创作内容,AI根据内容创造出适合的主题 如图所示:请帮我创作一个湿地公园的像高圆圆的美女图片。 输出的结果如下:总体来说感觉还是非常快,基…...
延时任务定时发布,基于 Redis 与 DB 实现
目录 1、什么是延时任务,分别可以使用哪些技术实现? 1.2 使用 Redis 和 DB 相结合的思路图以及分析 2、实现添加任务、取消任务、拉取任务 3、实现未来数据的定时更新 4、将数据库中的任务数据,同步到 Redis 中 1、什么是延时任务ÿ…...
Nacos安装使用
Nacos安装使用 官方下载地址: https://github.com/alibaba/nacos/releases 官方文档地址: https://nacos.io/zh-cn/docs/quick-start.html Nacos介绍 Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件。用来取代以前常用的注册中心&a…...
了解抽象思维的应用与实践
目录 一、快速了解抽象思维 (一)抽象思维的本质理解 (二)系统架构中的重要性 (三)软件开发中抽象的基本过程思考 意识和手段 抽象的方式 抽象层次的权衡 二、业务中的应用实践 (一&…...
【阿里云】图像识别 智能分类识别 增加垃圾桶开关盖功能点和OLED显示功能点(二)
一、增加垃圾桶开关盖功能 环境准备 二、PWM 频率的公式 三、pthread_detach分离线程,使其在退出时能够自动释放资源 四、具体代码实现 图像识别数据及调试信息wget-log打印日志文件 五、增加OLED显示功能 六、功能点实现语音交互视频 一、增加垃圾桶开关盖功能…...
linux centos上安装python3.11.x详细完整教程
一. 安装步骤 注意: 1、安装python3.11的其他版本替换下面的版本信息即可。(如想安装3.11.5将案例中的3.11.0替换成3.11.5即可) #下载最新的软件安装包 wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz#解压缩安装包 tar -xzf Python-3.11.0.tg…...
itext - PDF模板套打
目录 环境配置 快速使用 代码实现 添加图片 封装 项目需求:获取列表数据之后直接将数据生成一个pdf。因此需要使用到 itext 对pdf进行直接操作。 环境配置 需要为pdf添加文字域,因此需要安装Adobe Acrobat 准备一个空的PDF文件,如果有现…...
指针的使用和传址调用
1.引入 学习指针的⽬的是使⽤指针解决问题,那什么问题,⾮指针不可呢? 例如:写⼀个函数,交换两个整型变量的值。 ⼀番思考后,我们可能写出这样的代码: #include <stdio.h> void Swap1(int…...
【Leetcode】【实现循环队列】【数据结构】
代码实现: typedef struct {int front;int back;int k;int* a;} MyCircularQueue;bool myCircularQueueIsEmpty(MyCircularQueue* obj) {return obj->frontobj->back; }bool myCircularQueueIsFull(MyCircularQueue* obj) {return (obj->back1)%(obj->…...
电力感知边缘计算网关产品设计方案-软件架构(业务流程)
软件架构(业务流程) 基于前端系统提供的硬件通信平台,后端系统以控制执行单元为核心,协同控制通信管理、驱动适配、存储单元等职能单元完成与前端系统的通信数据交互业务,在经历以下业务流程后,完成设备自适应通信业务功能。 1.外部设备通信前端系统 前端系统连接新的…...
【labelimg打不开】
labelimg打不开 一、 报错1.1 排除错误 **解决方法:** 一、 报错 当运行labelimg程序报错此条时 AssertionError: Missing string id : useDefaultLabel 1.1 排除错误 第一,进入创建的虚拟环境,输入pip list 查看是否安装了labelimg 第二&…...
JAVA之异常详解
1. 异常的概念与体系结构 1.1 异常的概念 在Java中,将程序执行过程中发生的不正常行为称为异常 1. 算术异常 public class Test {public static void main(String[] args) {System.out.println(10/0);} } 因为 0 不能当被除数,所以报出了异常&#…...
模型优化【2】-剪枝[局部剪枝]
模型剪枝是一种常见的模型压缩技术,它可以通过去除模型中不必要的参数和结构来减小模型的大小和计算量,从而提高模型的效率和速度。在 PyTorch 中,我们可以使用一些库和工具来实现模型剪枝。 pytorch实现剪枝的思路是生成一个掩码࿰…...
VMware 系列:ESXI6.7升级7.0
ESXI6.7升级7.0 一、下载补丁二、上传文件三 启用Shell四、登录Shell后台五、删除不兼容驱动六、正常升级最近,将一台使用ESXI6.7的虚拟机升级到了7.0版本,下面记录一下自己的升级过程。 升级条件 首先确保硬件是否能升级到7.0版本,物理网卡驱动为e1000e不能升级,如果是ig…...
ESP32开发板到手后,除了点灯还能干啥?从Hello World到连接天猫精灵的完整项目实战
ESP32开发板实战:从点灯到智能家居语音控制的全链路开发指南 刚拿到ESP32开发板时,大多数人的第一个项目往往是点亮LED——这确实是验证硬件工作的好方法。但这款售价不到50元的开发板,实际上隐藏着足以支撑完整物联网项目的强大能力。本文将…...
抖音批量下载神器:高效自动化内容采集一站式解决方案
抖音批量下载神器:高效自动化内容采集一站式解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...
3步解决:RTL8852BE Wi-Fi 6网卡Linux驱动完全指南
3步解决:RTL8852BE Wi-Fi 6网卡Linux驱动完全指南 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 当我们为Linux系统配备RTL8852BE Wi-Fi 6无线网卡时,常会遇到驱动…...
告别编译!用vcpkg一键搞定OpenCV 4.5.3 + VTK 9.0.3 + OpenCV_Contrib的Windows开发环境
极速搭建OpenCVVTK开发环境:vcpkg全自动解决方案 每次开始新的计算机视觉项目,你是否也厌倦了反复折腾OpenCV、VTK的编译安装?那些漫长的等待、诡异的报错、版本冲突的噩梦,占据了本该属于创造性工作的宝贵时间。今天,…...
RMBG-2.0抠图工具功能体验:蒙版查看、原图对比、一键下载
RMBG-2.0抠图工具功能体验:蒙版查看、原图对比、一键下载 1. 为什么选择RMBG-2.0进行本地抠图? 在日常工作和生活中,我们经常需要处理图片背景去除的需求。无论是电商产品图、设计素材还是个人照片,一个高效、精准的抠图工具可以…...
告别费马小定理!用线性递推O(n)批量求逆元,组合数计算效率翻倍(附C++代码)
告别费马小定理!用线性递推O(n)批量求逆元,组合数计算效率翻倍(附C代码) 在算法竞赛和编程面试中,组合数计算是一个高频出现的难题。想象一下这样的场景:你正在参加ACM比赛,面对一道需要计算大量…...
解锁ABAP选择屏幕的终极灵活性:Free Selection与动态控制的实战融合
1. ABAP选择屏幕的痛点与破局思路 做过SAP报表开发的同行应该都深有体会:传统选择屏幕就像个固执的老头,字段和布局在开发阶段就被写死,用户运行时连调整的机会都没有。我去年接手过一个集团合并报表项目,业务部门三天两头要求新增…...
Simulink仿真下的自适应巡航控制(ACC)系统建模:速度与间距控制策略探究
Simulink仿真:基于模型预测的自适应巡航控制系(ACC)建模 参考文献:无 仿真平台:MATLAB/Simulink 主要内容:ACC系统有两种工作模式:速度控制,汽车以驾驶员设定的速度行驶;…...
AI写代码却崩在npm install?(2024真实生产事故复盘:LLM生成代码的依赖链断裂真相)
第一章:AI写代码却崩在npm install?(2024真实生产事故复盘:LLM生成代码的依赖链断裂真相) 2026奇点智能技术大会(https://ml-summit.org) 2024年3月,某跨境电商SaaS平台上线AI辅助前端组件生成服务——工…...
从入门到精通:富斯MC6接收机的7种模式与实战应用指南
1. 富斯MC6接收机:你的全能模型控制中枢 第一次拿到富斯MC6接收机时,我完全被它的小身材大能量震惊了。这个比火柴盒还小的设备,竟然能同时控制电机、灯光、舵机,还能对接飞控系统。作为玩过数十款接收机的老模友,我可…...
