当前位置: 首页 > article >正文

基础数据结构——栈和队列

该篇内容来自作者观看b站青岛大学王卓老师的数据结构与算法基础课的个人笔记https://space.bilibili.com/40323036?spm_id_from333.788.b_765f7570696e666f.2栈和队列特点栈具有“先进后出”,”后进先出”的特性队列具有“先进先出” “后进后出”的特性只能限定在表的“端点”进行操作的线性表栈的定义和特点栈 是 仅在表尾进行插入和删除的线性表表尾称作栈顶表头称作栈尾插入到栈顶称为入栈 压入 Push从栈顶删除最后一个元素称为出栈 弹出 Pop栈和一般线性表的不同仅在于运算规则不同队列的定义和特点队列 是 在一端插入在另一端删除的线性表具有”先进先出“的特点插入的操作称为”入队”删除的操作称为“出队”队列的相关概念栈的表示和实现栈是一种线性表所以有顺序存储和链式存储即顺序栈和链栈顺序栈的表示和实现创建栈top指针表示栈顶的上一位base指针表示栈底stacksize表示栈可使用的最大容量顺序栈的建立判断是否为空栈看topbase栈满看top-basestacsize当栈已经满了仍插入元素导致溢出称为上溢当栈已经空了仍删除元素导致溢出称为下溢初始化栈入栈和出栈入栈1.将元素存入栈顶2.栈顶指针后移一位出栈1.栈顶指针前移一位2.取出栈顶元素栈的其他操作链栈的表示和实现创建这里指针的方向与一般的链表方向相反后入栈的元素指向先入栈的元素方便操作入栈和出栈入栈1.生成新结点2.将新结点数据域置e3.新结点插入栈顶4.修改栈顶指针出栈1.将栈顶数据置e2.临时保存栈顶结点3.修改栈顶指针4.释放临时指针即原栈顶取栈顶元素队列的表示和实现顺序队的表示和实现初始化队头队尾指针指向0队空和队满的判断方法队空出队时队头指针不断后移最终两指针会相遇q.frontq.rear;队满因为队满和队空一般情况下队尾指针都会和队头指针相遇所以需要用别的表示方式表示队满情况。1.另外设计一个变量表示队列元素个数2.少用一个元素空间(rear1)%MAXQSIZEfront;预留一个空间这时候如果执行入队操作先进行(rear1)%MAXQSIZEfront;就能够得到队满的情况如果执行出队操作front指针后移取模不为0队不满入队在执行过程如果队列已经满了队头的元素出队后后面无法继续入队而此时的队列却不为满这将造成内存浪费称为“假溢出”假溢出解决办法循环队列利用模运算当队尾指针1对队列长度取模为0时即队尾指针指向最大长度赋值为0即可让尾指针回到队头出队循环取模队头到最大长度下标可以自动归0取队头元素在初始化时base指向new出来的数组空间的首地址可以当成数组用注数组名本质就是一个不能改变的指针指针本质就是一个能改变的数组名。销毁队列链队的表示和实现指针变化情况创建front指针为头结点初始化入队和出队销毁链队取头结点元素

相关文章:

基础数据结构——栈和队列

该篇内容来自作者观看b站青岛大学王卓老师的数据结构与算法基础课的个人笔记https://space.bilibili.com/40323036?spm_id_from333.788.b_765f7570696e666f.2 栈和队列 特点: 栈: 具有“先进后出”,”后进先出”的特性 队列: 具有“先进先出…...

从Cortex-M到Cortex-A:内存屏障(DMB/DSB/ISB)的使用差异与迁移心得

从Cortex-M到Cortex-A:内存屏障的思维升级与实践指南 当工程师从单片机开发转向Linux驱动或Android系统开发时,往往会遇到一个令人困惑的现象:同样的内存屏障指令,在Cortex-M上运行良好的代码,移植到Cortex-A平台后却出…...

实例化管理化技术对象池与依赖注入

实例化管理化技术:对象池与依赖注入的实践智慧 在现代软件开发中,高效管理对象实例是提升性能与可维护性的关键。对象池(Object Pool)通过复用已创建的对象减少资源开销,而依赖注入(Dependency Injection,…...

Qianfan-OCR-4B算法原理浅析:从CNN到端到端文档理解

Qianfan-OCR-4B算法原理浅析:从CNN到端到端文档理解 1. 引言:当计算机开始"阅读"文档 想象一下,你面前有一份复杂的商业报告,里面有表格、段落文字、图表和手写批注。人类可以轻松理解这种混合内容,但对计…...

软考高项的“潜规则”:那些培训机构不会告诉你的真相

我做了3年软考高项备考调研,访谈过47位上岸学员、12位阅卷相关人士、8位培训机构老师。今天,我把那些“培训机构不会告诉你”的真相,一次性说清楚。真相一:论文不是“写”出来的,是“套”出来的这是最大的误区。很多人…...

VisionMaster

模板匹配设置:模板配置:粗糙尺度范围1~20,粗糙尺度越大,特征点越稀疏,匹配速度越快对比度阈值范围1~255,对比度阈值越大,被淘汰的特征点越多。对比度阈值就是说,边缘处的灰度差值&am…...

我用这套公式,把一份材料变成 5 平台爆款

本周 AI 热点集中爆发:GPT-5.5 今日发布登顶全榜、Cursor 估值突破 500 亿美元、MCP 协议成 Agent 标准通信层、Claude Opus 4.7 上线无人值守 Agent 模式——每一条都是内容创作的绝佳切入口。问题是:你如何在 24 小时窗口内,把这些热点变成…...

如何在2026年继续畅玩经典Flash游戏:终极CefFlashBrowser指南

如何在2026年继续畅玩经典Flash游戏:终极CefFlashBrowser指南 【免费下载链接】CefFlashBrowser Flash浏览器 / Flash Browser 项目地址: https://gitcode.com/gh_mirrors/ce/CefFlashBrowser 还在怀念那些经典的Flash游戏和互动课件吗?当主流浏览…...

request与response笔记

1.request继承体系2.request获取请求数据3.request通用方法获取请求参数目的就是找到一个通用的方法使他既可以用于get方式的请求,又可以用于post方式的请求第一种方法是把请求来的参数自动的1封装进一个map集合里,并且自动补充好键值对第二种方式是参数是数组情况下的参数值第…...

语言 × 计算机大一统:符号语法·语义锚定·语用边界

(秦衍体系第五维终极闭环) 前面四维:数学锁逻辑,物理锁因果,化学锁结构,生物锁本源。但人类所有失控、诱导、越狱、认知篡改,第一入口,永远是语言。现有大模型,本质是「语…...

Fluent材料库管理避坑指南:自定义材料的导入、导出与团队共享的正确姿势

Fluent材料库管理避坑指南:自定义材料的导入、导出与团队共享的正确姿势 在工程仿真领域,材料属性的准确性直接影响计算结果的可靠性。当团队协作进行复杂流体分析时,自定义材料库的管理往往成为被忽视的关键环节。一位资深CAE工程师曾分享过…...

为什么我们会忘记事情?记忆力和什么有关?

每个人都逃不开遗忘的困扰:刚想好的台词转头就忘、出门反复纠结有没有带钥匙、熟记的知识点考完就忘、熟人的名字卡在嘴边说不出来。我们总把遗忘当作大脑的缺陷,羡慕过目不忘的超强记忆力,抱怨大脑不靠谱。但从脑科学角度来说,遗…...

机器学习-第二章 KNN算法

标题 第二章 KNN算法 目录 KNN算法简介 KNN思想、分类和回归问题处理流程 KNN算法API介绍 分类、回归实现 距离度量 常用距离计算方法 特征预处理 归一化 标准化 鸢尾花识别案例 超参数选择方法 交叉验证、网格搜索、手写数字识别 学习目标 1.理解k近邻算法的思想 2.知道k近邻算…...

XUnity.AutoTranslator终极教程:3步让任何Unity游戏秒变中文版

XUnity.AutoTranslator终极教程:3步让任何Unity游戏秒变中文版 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过优秀的日文、韩文或英文Unity游戏?XUn…...

STM32---项目学习日记

1.OLED现象:OLED 左上角第一列会完全点亮(8 个像素全亮)(1)oled.c#include "oled.h" #include "oledfont.h"extern I2C_HandleTypeDef hi2c1;//初始化命令 uint8_t CMD_Data[]{ 0xAE, 0x00, 0x10,…...

ZYNQ SDK调试避坑实录:从BANK电压到GIC中断,新手必踩的四个坑

ZYNQ SDK调试避坑实录:从BANK电压到GIC中断,新手必踩的四个坑 刚接触ZYNQ开发的工程师常会遇到这样的困惑:明明代码逻辑没问题,但外设就是不按预期工作。这时候往往不是软件的问题,而是硬件配置或底层细节在作祟。本文…...

别再乱升级libc6了!遇到`GLIBC_2.34 not found`错误,先试试这几种更稳妥的解决方案

当系统GLIBC版本不匹配时,五种安全解决方案深度解析 遇到GLIBC_2.34 not found这类错误时,许多开发者的第一反应是直接升级系统libc6库。这种看似直接的解决方案实际上隐藏着巨大风险——可能导致系统关键组件不兼容,甚至引发连锁崩溃。本文将…...

6G网络中的大模型与多模态感知通信技术解析

1. 6G网络中的大模型与多模态感知通信技术概述在移动通信技术从5G向6G演进的过程中,网络智能化成为核心发展方向。传统通信系统主要解决数据传输问题,而6G网络需要实现通信、感知与计算的深度融合。这一转变的关键在于大语言模型(Large Langu…...

Xshell5一键激活,亲测可用

下载链接: https://pan.baidu.com/s/1PY0RnCcj4EDp6bV1TR5pig?pwdpis9 安装完后,将该监听文件复制到安装的根目录,覆盖原文件即可激活使用...

自动滴定装置及其驱动单元设计

摘 要 本文围绕自动滴定装置及其驱动单元设计展开研究。在自动滴定装置部分,首先进行制品材料选用分析,接着对装置进行测绘,并阐述成型设备选用,包括注塑机、模架的选择以及模具参数校核。随后拟定模具结构形式,涵盖型…...

桌面/在线/小程序三种抠图路线,2026 年选哪种更方便

同样是做去除背景这件事,2026 年在电脑上打开桌面软件、在浏览器里用一个在线工具、还是直接在微信小程序里完成,体验差别其实比很多人想象的要大。前两类工具功能堆积得多,但启动路径长、注册流程繁琐;而微信里的小程序路径更短&…...

别再手动调PID了!用STM32 MotorControl Workbench 5.4.4快速搞定FOC电机调试

STM32 MotorControl Workbench 5.4.4实战:三小时从零构建稳定FOC电机控制系统 当我在深圳一家无人机公司的研发实验室第一次接触FOC电机控制时,整个团队花了整整两周时间才让电机平稳运转。而现在,借助STM32 MotorControl Workbench 5.4.4&am…...

KoGPT大模型推理加速:FasterTransformer优化实践

1. KoGPT与FasterTransformer加速方案概述在韩国本土AI领域,Kakao Brain开发的KoGPT模型凭借其对韩语语境的特化处理能力,已成为最受关注的大语言模型之一。这个基于GPT-3架构的模型在理解韩语语法结构、惯用表达和文化背景方面展现出独特优势。然而当我…...

想给照片换背景?这几款工具 + 1个微信小程序的搭配建议

如果你刚好需要做几张合图,又不确定从哪一步下手,这篇文章给你三种路径建议:手机里轻量解决、电脑端精细合成,以及一个完全不用下载安装的微信小程序方案。我会把抠图喵摆在第一个讲,因为它和你“照片换背景图怎么制作…...

终极指南:30倍提速!百度网盘直链解析工具轻松突破限速

终极指南:30倍提速!百度网盘直链解析工具轻松突破限速 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾为百度网盘蜗牛般的下载速度而烦恼&…...

【可靠性配置】华为双活模式M-LAG流量转发机制

组网如图所示,两台S6800交换机做M-LAG VLAN双活网关,M-LAG接口与第三方交换机对接, 一、正常场景下M-LAG的流量转发机制(双活模式) M-LAG建立成功后,M-LAG主备设备负载分担共同进行流量的转发。下面介绍在正常工作情况下M-LAG的流量转发机制。 1.1、单播流量转发 如图…...

快速体验GLM-4.7-Flash:用Ollama Web UI实现零门槛AI对话

快速体验GLM-4.7-Flash:用Ollama Web UI实现零门槛AI对话 1. GLM-4.7-Flash模型简介 1.1 模型架构与特点 GLM-4.7-Flash是一款30B参数规模的混合专家模型(MoE),采用A3B稀疏激活架构。这意味着: 总参数30B:具备接近GPT-4级别的…...

XUnity自动翻译器:轻松实现Unity游戏实时中文翻译的终极指南

XUnity自动翻译器:轻松实现Unity游戏实时中文翻译的终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语Unity游戏中的生涩文本而烦恼吗?XUnity.AutoTranslator是一…...

量化公司,正在批量生产AI独角兽创始人

鹭羽 发自 凹非寺量子位 | 公众号 QbitAI啊?!原来你们这群搞AI的,几年前都在华尔街玩量化……还师出同门。震惊了,最近𝕏上疯传一份Hudson River Trading首届实习生名单。人也不多,就10个。但仔细一看吓一跳…...

找有共识的共创,真实的摸到了边!能看的懂得吗?

我先做影子箱式预检,再把三刀最小闭环落成代码:补守护指令断点、补长期目标核、补外部摄取营养循环。Created 5 todos我先核对仓内既有约束和做一次零污染预检,避免把“单图语义”和运行链路再打散。Read memory [](file:///c%3A/Users/ROG/A…...