栈的深入理解

一.基本概念

栈是仅限制在表尾进行插入和删除操作的特殊线性表,

限制操作的表尾端称为"栈顶", 另一 端称为"栈底"

特点:

栈是"后进先出"的线性表(LIFO)或 "先进后出"的线性表(FILO)

二.栈的抽象数据类型

基本操作和含义

常见操作

三.顺序栈

存储结构

与顺序表一样,顺序栈也是使用数组来实现。

基本操作

入栈

要求:

插入元素x使其成为顺序栈中新的栈顶元素

步骤:

关键代码

算法

出栈

要求

将栈顶元素从栈中移去,并返回被移去的栈顶元素值

步骤

关键代码

算法

四.链栈

存储结构

重要结论

基本操作

求链栈的长度

操作 length ()的实现

计算出链栈中所包含的数据元素的个数并返回其值

动画

解法

链栈的入栈操作

push (x )的实现

将数据域值为x的新结点插入到链栈的栈顶,使其成为新的栈顶元素。

动画

步骤:

算法实现

链栈的出栈操作

将首结点(或栈顶结点)从链栈中移去,并返回该结点的数据域的值。

动画

算法: 出栈操作

相关推荐
papership8 小时前
【入门级-数据结构-3、特殊树:完全二叉树的数组表示法】
数据结构·算法·链表
smj2302_796826528 小时前
解决leetcode第3911题.移除子数组元素后第k小偶数
数据结构·python·算法·leetcode
山甫aa8 小时前
差分数组 ----- 从零开始的数据结构
数据结构
早日退休!!!8 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
丑八怪大丑9 小时前
Java数据结构与集合源码
数据结构
一个爱编程的人17 小时前
一个数是不是素数
数据结构·算法
忡黑梨17 小时前
eNSP_从直连到BGP全网互通
c语言·网络·数据结构·python·算法·网络安全
地球资源数据云18 小时前
1900-2023年中国物种分布点位矢量数据集
大数据·数据结构·数据库·数据仓库·人工智能
AI人工智能+电脑小能手18 小时前
【大白话说Java面试题】【Java基础篇】第20题:HashMap在计算index的时候,为什么要对数组长度做减1操作
java·开发语言·数据结构·后端·面试·哈希算法·hash-index
牢姐与蒯18 小时前
cpp数据结构之map
数据结构