數據結構:棧、隊列

一、棧和隊列與鏈表的區別

? ? ? ? 1.鏈表可以在任意位置插入和刪除元素

? ? ? ? 2.棧和隊列只允許在指定位置插入和刪除元素

? ? ? ? 3.棧只允許在棧頂位置入棧和出棧元素

? ? ? ? 3.相同點:表、棧、隊列都是一種線性結構(一對一)

? ? ? ? 4.棧和隊列是一種特殊的表狀結構

二、棧

(一)概念

? ? ? ? 1.先進后出,后進先出

? ? ? ? 2.棧頂:允許入棧和出棧的一端

? ? ? ? 3.棧底:不允許出棧和入棧的一端

? ? ? ? 4.入棧(壓棧):將元素放入棧頂位置

? ? ? ? 5.出棧(彈棧):將棧頂元素去除

? ? ? ? 6.棧針:記錄棧頂位置的標記

(二)分類

? ? ? ? 1.順序棧

? ? ? ? ? ? ? ? 1.1增棧:從(棧底)低地址向高地址存

? ? ? ? ? ? ? ? 1.2減棧:從(棧底)高地址向低地址存

? ? ? ? ? ? ? ? 1.3空棧:棧針指向要入棧的位置

? ? ? ? ? ? ? ? 1.4滿棧:棧針指向棧頂元素位置

? ? ? ? ? ? ? ? 1.5常見的順序棧:空增棧、空減棧、滿增棧、滿減棧

? ? ? ? 2.順序棧的實現

? ? ? ? 3.鏈式棧

三、隊列

(一)概念

? ? ? ? 1.先進先出,后進后出

? ? ? ? 2.隊頭:出隊的一端

? ? ? ? 3.隊尾:入隊的一端

? ? ? ? 4.入隊:將元素放入隊列末尾

? ? ? ? 5.出隊:將元素從隊頭中取出

(二)分類

? ? ? ? 1.循環隊列

? ? ? ? 2.鏈式隊列

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94712.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94712.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94712.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

cuda編程筆記(13)--使用CUB庫實現基本功能

CUB 是 NVIDIA 提供的 高性能 CUDA 基礎庫&#xff0c;包含常用的并行原語&#xff08;Reduction、Scan、Histogram 等&#xff09;&#xff0c;可以極大簡化代碼&#xff0c;并且比手寫版本更優化。CUB無需鏈接&#xff0c;只用包含<cub/cub.cuh>頭文件即可需要先臨時獲…

LabVIEW濾波器測控系統

?基于LabVIEW 平臺的高頻濾波器測控系統&#xff0c;通過整合控制與測試功能&#xff0c;替代傳統分離式測控模式。系統以 LabVIEW 為核心&#xff0c;借助標準化接口實現對濾波器的自動化參數調節與性能測試&#xff0c;顯著提升測試效率與數據處理能力&#xff0c;適用于高頻…

美團運維面試題及參考答案(上)

輸入一個字符串,將其轉換成數字時,需要考慮哪些情況(如字符串是否合法、是否為空、int 的范圍、是否為 16 進制等)? 將字符串轉換成數字時,需全面考慮多種邊界情況和合法性問題,具體如下: 字符串基礎狀態:首先需判斷字符串是否為空(長度為0)或僅包含空白字符(如空…

Spring-AI 深度實戰:企業級 AI 應用開發指南與 Python 生態對比(高級篇)

為什么 Spring-AI 是企業級 AI 的“隱形冠軍”&#xff1f;&#xff08;而不僅是另一個封裝庫&#xff09;在 Python 主導的 AI 世界中&#xff0c;Spring-AI 的誕生常被誤解為“Java 的跟風之作”。但真正的企業級 AI 需求&#xff08;事務一致性、分布式追蹤、安全審計&#…

OpenAI 回歸開源領域突發兩大推理模型,六強AI企業競逐加劇軍備競賽態勢!

獲悉&#xff0c;OpenAI重回開源賽道&#xff0c;奧特曼深夜官宣兩個分別名為GPT-oss-120b和GPT-oss-20b的模型將在AI軟件托管平臺Hugging Face上線&#xff0c;在用戶輸入指令后將能生成文本。兩大推理模型上線GPT-oss-120b適用于需要高推理能力的生產級和通用型場景。在核心推…

嵌入式學習硬件(一)ARM體系架構

目錄 1.SOC 2.內核架構的分類 3.馮諾依曼架構和哈佛架構 4.kernel 5.指令集 6.ARM處理器產品分類 7.編譯的四個步驟?編輯 8.RAM和ROM?編輯 9.ARM處理器工作模式 10.異常處理 11.CPSR程序狀態寄存器 1.SOC system on chip 片上系統&#xff0c;可以運行操作系統的一種高端的功…

OpenAI推出開源GPT-oss-120b與GPT-oss-20b突破性大模型,支持商用與靈活部署!

模型介紹OpenAI再次推出開源模型&#xff0c;發布了兩款突破性的GPT-oss系列大模型&#xff0c;即GPT-oss-120b和GPT-oss-20b&#xff0c;為AI領域帶來了巨大的創新和發展潛力。這兩款模型不僅在性能上與現有的閉源模型媲美&#xff0c;而且在硬件適配性上具有明顯優勢&#xf…

【Unity Plugins】使用ULipSync插件實現人物唇形模擬

一、下載插件ULipSync&#xff1a; 1. 進入Github網址&#xff1a;https://github.com/hecomi/uLipSync/releases/tag/v3.1.4 2. 點擊下載下方的unitypackage 3. 安裝使用ULipSync的相關的插件 發行者也提到了&#xff0c;在使用的時候需要在Package Manager里安裝Unity.B…

基于 Transformer-BiGRU GlobalAttention-CrossAttention 的并行預測模型

1 背景與動機 在高頻、多尺度且非平穩的時序場景(如新能源產能預測、金融行情、用戶行為流分析)中,單一網絡分支 往往難以同時捕獲 長程依賴(Transformer 長距離建模優勢) 局部細粒信息(循環網絡對短期波動敏感) 將 Transformer 與 雙向 GRU(BiGRU) 以并行支路組合…

大模型與Spring AI的無縫對接:從原理到實踐

摘要&#xff1a;本文系統梳理了大模型知識&#xff0c;以及與Spring AI的集成方案&#xff0c;涵蓋本地部署、云服務、API調用三種模式的技術選型對比。通過DeepSeek官方API示例詳解Spring AI的四種開發范式&#xff08;純Prompt/Agent/RAG/微調&#xff09;&#xff0c;并提供…

linux下實現System V消息隊列實現任意結構體傳輸

以下是一個實現&#xff0c;可以發送和接收任意類型的結構體消息&#xff0c;而不僅限于特定的CustomMsg類型&#xff1a;#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/ipc.h> #include <sys/msg.h> #include <…

TCP的三次握手和四次揮手實現過程。以及為什么需要三次握手?四次揮手?

三次握手和四次揮手的實現原理&#xff0c;以及為什么要這樣設計&#xff1f;三次握手的實現三次握手的核心角色與參數三次握手的具體步驟第一步&#xff1a;客戶端 → 服務器&#xff08;發送 SYN 報文&#xff09;第二步&#xff1a;服務器 → 客戶端&#xff08;發送 SYNACK…

Java開發時出現的問題---架構與工程實踐缺陷

除語言和并發層面&#xff0c;代碼設計、工程規范的缺陷更易導致系統擴展性差、維護成本高&#xff0c;甚至引發線上故障。1. 面向對象設計的常見誤區過度繼承與脆弱基類&#xff1a;通過繼承復用代碼&#xff08;如class A extends B&#xff09;&#xff0c;會導致子類與父類…

項目評審管理系統(源碼+文檔+講解+演示)

引言 在當今快速發展的商業環境中&#xff0c;項目評審和管理是確保項目成功的關鍵環節。項目評審管理系統作為一種創新的數字化工具&#xff0c;通過數字化手段優化項目評審和管理的全流程&#xff0c;提高項目管理效率&#xff0c;降低風險&#xff0c;提升項目成功率。本文將…

ComfyUI 安裝WanVideoWrapper

目錄 方法2&#xff1a;通過 ComfyUI-Manager 安裝 方法3&#xff1a;手動下載并解壓 測試代碼&#xff1a; WanVideoWrapper 方法2&#xff1a;通過 ComfyUI-Manager 安裝 在 ComfyUI 界面頂部找到 Manager&#xff08;管理器&#xff09;選項。 進入 Install Custom Nod…

react合成事件大全,如onClick,onDrag

1. 鼠標事件onClick - 點擊事件onContextMenu - 右鍵菜單事件onDoubleClick - 雙擊事件onDrag - 拖拽事件onDragEnd - 拖拽結束事件onDragEnter - 拖拽進入目標區域事件onDragExit - 拖拽離開目標區域事件onDragLeave - 拖拽離開事件onDragOver - 拖拽懸停事件onDragStart - 拖…

從《中國開源年度報告》看中國開源力量的十年變遷中,Apache SeaTunnel 的躍遷

如果把開源世界比作一條奔涌的大河&#xff0c;過去十年里&#xff0c;中國開發者已經從“岸邊試水”變成了“中流擊水”。在最近落下帷幕的 Community Over Code Asia 2025&#xff0c;華東師范大學教授王偉老師基于《中國開源年度報告》進行的一場分享&#xff0c;用一組數字…

JAVA 程序員cursor 和idea 結合編程

cursor 是基于vscode改良而來的&#xff0c;外加上Claude大語言模型而產生的AI編輯器&#xff0c;市面上也有阿里的靈碼qianwen3-coder大語言模型。我個人電腦還是喜歡用idea集成靈碼插件開發。但是也稍微介紹下習慣idea的人只是使用cursor代碼生成的話&#xff0c;這有個小妙招…

查看部署在K8S服務的資源使用情況

要查看 Pod中 server 的資源使用情況&#xff08;CPU 和內存&#xff09;&#xff0c;你需要使用 Kubernetes 的監控工具。最常用的是 kubectl top 命令。? 方法一&#xff1a;使用 kubectl top&#xff08;推薦&#xff09; 1. 查看 Pod 的 CPU 和內存使用 kubectl top pod s…

uni-app vue3 小程序接入 aliyun-rtc-wx-sdk

安裝依賴&#xff1a; npm install aliyun-rtc-wx-sdk crypto-jsuni-app&#xff0c;新建一個頁面&#xff0c;粘貼以下代碼 在阿里云實時音視頻補充appId、appKey即可&#xff0c; <template><view class"container"><!-- 用戶輸入區域 --><vi…