数据结构——栈的讲解(超详细)

数据结构——栈的讲解(超详细)-腾讯云开发者社区-腾讯云

#include"Stack.h"
void STInit(ST* ps)
{ps->arr = NULL;ps->capacity = ps->top = 0;  //总空间个数和有用空间个数都初始化为0
}void STDestroy(ST* ps)
{if (ps -> arr)   //先判断是否进行动态内存开辟了{free(ps -> arr);}ps->capacity = ps->top = 0;
}void STPush(ST* ps, STDataType x)   //类似顺序表的尾插
{if (ps->capacity == ps->top){int newcaopacity = ps->capacity == 0 ? 4 : 2 * ps -> capacity;STDataType* arr1 = (STDataType*)realloc(ps->arr, newcaopacity * sizeof(STDataType));assert(arr1);ps->arr = arr1;ps->capacity = newcaopacity;}  //扩容完成ps->arr[ps->top++] = x;
}bool panduan(ST * ps)
{assert(ps);return ps -> top == 0;   //这个是来判断栈是不是空了
}void STPop(ST* ps)
{assert(ps);assert(!panduan(ps));ps->top--;
}STDataType STTop(ST* ps)
{return ps->arr[ps->top - 1];
}int STSize(ST* ps)
{return ps->top;
}

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

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

相关文章

MySQL允许root用户远程连接

注意:在实际生产环境中,允许root用户从任意主机(‘%’)连接存在安全风险,建议使用强密码并限制访问IP,或者创建具有必要权限的单独用户用于远程连接。MySQL 配置远程连接指南 1. 登录 MySQL 服务器 mysql -…

STM32的 syscalls.c 和 sysmem.c

syscalls.c 是 STM32CubeIDE 自动生成的标准系统调用适配文件,用于裸机环境下支持 newlib 标准库(如 printf, scanf, malloc)的运行。这份文件提供了标准库运行所需的最小系统调用实现。现在我来逐段解析其作用,并补充你可能需要修…

Java零基础笔记01(JKD及开发工具IDEA安装配置)

1.Java简介 Java是一种广泛使用的计算机编程语言,由美国的Sun Microsystems公司(Stanford University Network)在1995年推出。Java以其跨平台、面向对象、安全性高等特点,广泛应用于企业级应用开发、移动应用开发等领域。2009年&a…

Spark SQL架构及高级用法

Spark SQL 架构概述 架构核心组件 API层(用户接口) 输入方式:SQL查询;DataFrame/Dataset API。统一性: 所有接口最终转换为逻辑计划树(Logical Plan),进入优化流程。 编译器层&…

【机器学习深度学习】什么是下游任务模型?

目录 前言 一、什么是下游任务模型? 二、为什么需要下游任务模型? 三、下游任务模型都在干嘛? 四、下游模型怎么训练出来的? 五、图解理解:上游 vs 下游 六、一个现实案例:BERT做情感分析 原始数据…

补充:问题:CORS ,前后端访问跨域问题

补充:问题:CORS ,前后端访问跨域问题 我这边的解决方法是: myAxios.defaults.withCredentials true; // 配置为true,表示前端向后端发送请求的时候,需要携带上凭证cookie整体的: import axio…

洛谷 P13014 [GESP202506 五级] 最大公因数-普及-

题目描述 对于两个正整数 a,ba,ba,b,他们的最大公因数记为 gcd⁡(a,b)\gcd(a,b)gcd(a,b)。对于 k>3k > 3k>3 个正整数 c1,c2,…,ckc_1,c_2,\dots,c_kc1​,c2​,…,ck​,他们的最大公因数为: gcd⁡(c1,c2,…,ck)gcd⁡(gcd⁡(c1,c2,……

前端-CSS-day1

目录 1、初识CSS 2、CSS引入方式 3、标签选择器 4、类选择器 5、id选择器 6、通配符选择器 7、画盒子 8、字体大小 9、字体粗细 10、字体倾斜 11、行高 12、行高-垂直居中 13、字体族 14、font属性 15、文本缩进 16、文本对齐方式 17、图片对齐方式 18、文本…

解锁万能文件内容提取器:Apache Tika

01 引言 在日常工作中,你是否曾为这些场景头疼过? 堆积如山的PDF、Word、Excel文档,如何快速提取关键信息?用户上传的文件五花八门,如何自动识别类型并安全处理?构建搜索引擎时,如何让系统“读懂…

gemini-cli初体验

目录 准备配置环境变量运行使用基础使用配置MCP调用MCP 参考 准备 NodeJS 18版本 配置环境变量 设置GEMINI_API_KEY 变量,在https://aistudio.google.com/apikey创建key 设置代理(可选,取决于您的网络),不配置可能会报错 api e…

Java --类变量和类方法--main语句

1. 类变量和类方法 介绍: 类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。 语法…

spring boot项目配置使用minion

一. Minio概述 Minio是一款开源的高性能对象存储服务,兼容Amazon S3 API,适用于私有云、混合云及边缘计算场景。它采用分布式架构设计,支持水平扩展,提供数据加密、版本控制、生命周期管理等企业级功能,适用于存储非结构化数据(如图片、视频、日志等)。 核心特性 S3兼…

<5>_Linux进程控制

目录 一,进程创建,fork/vfork 1,fork创建子进程,操作系统都做了什么 2,写时拷贝的做了什么 二,进程终止,echo $? 1,进程终止时,操作系统做了什么 2&…

阿里云服务器正确配置 Docker 国内镜像的方法

📦 原理说明:什么是“Docker 镜像加速器”? Docker 默认会从官方仓库 registry-1.docker.io 拉取镜像。由于网络原因,在中国大陆访问这个地址较慢甚至失败。 镜像加速器的作用是: 在国内部署一个缓存服务器&#xf…

PH热榜 | 2025-07-05

1. todai 标语:你的第一份个性化快乐生活指数 介绍:Todai 是你个人的人工智能助手,帮助你获得心理清晰和情感平衡。你可以随时随地记录自己的情绪,发现情绪变化的规律,并获取基于科学的工具。 产品网站:…

c++ duiLib环境集成

duiLib的Github链接:https://github.com/duilib/duilib 使用vcpkg快速安装duilib以及配置。步骤如下: 1、用git下载vcpkg,下载报错,这个错误通常表明在Git克隆过程中,与GitHub服务器的SSL连接被意外重置。改用http下…

一项基于粒子图像测速PIV系统的泥石流模拟冲击实验

1实验背景 全国进入“七下八上”防汛关键期,泥石流作为山区常见地质灾害,突发性强,破坏力大,对人民群众生命财产安全造成威胁,传统观测手段难以实现对碎石运动轨迹与水流场耦合效应的精细观测。而粒子图像测速PIV技术…

ADAS功能介绍

ADAS功能介绍 ADAS(Advanced Driving Assistance System)高级驾驶辅助系统,可分为如下几大类功能。 IA(Information Assist)信息辅助类 IA类功能,均不包含驾驶行为的控制。这些功能又可以进一步细分为三…

【LUT技术专题】CLUT代码讲解

本文是对CLUT技术的代码讲解,原文解读请看CLUT文章讲解。 1、原文概要 CLUT利用矩阵在保持3DLUT映射能力的前提下显著降低了参数量。整体流程如下所示。 整体还是基于3D-LUT的框架,只不过添加了一个压缩自适应的变换矩阵。作者使用的损失函数在3DLUT的…

在LinuxMint 22.1(Ubuntu24.04)上安装使用同花顺远航版

刚刚在LinuxMint 22.1(Ubuntu24.04)安装完成同花顺远航版,体验特别好,忍不住要及时给深受Linux平台无好用行情软件之苦的朋友们进行分享了。在此之前我一直只能用同花顺Linux原生版的行情软件,但是该软件只有很基本的行情功能,而且…