了解数据结构的栈和线性表基本操作的对比

简介: 栈(stack):是只允许在一端进行插入或者删除操作的线性表

1.栈的定义

栈(stack):是只允许在一端进行插入或者删除操作的线性表(即后进先出,大概可以理解为吃饱了吐出来)

  • 空栈:不含元素的空标配
  • 栈顶:表尾端
  • 栈底:表头端

网络异常,图片无法展示
|

  • 进栈顺序:a1->a2->a3->a4->a5
  • 出栈顺序:a5->a4-a3->a2->a1

2.对比线性表和栈基本操作

2.1 线性表的基本操作

  • InitList(&L):初始化表。构造一个空的线性表L,分配内存空间
  • DestoryList(&L):销毁操作。销毁线性表,并且释放线性表L所占用的空间
  • ListInsert(&L,i,e):插入操作,在表L中的第i个位置上插入指定元素e
  • ListDelete(&L,i,e):删除操作,删除表L中的第i个位置的元素,并且用e返回删除元素的值
  • LocateElem(L,e):按值查找操作,在表L中查找具有给定关键字值的元素
  • GetElem(L,i):按位查找操作,获取表L中第i个位置的元素的值

2.2 栈的基本操作

  • InitStack(&S):初始化栈,构造一个空栈S,分配内存空间
  • DestoryStack(&S):销毁栈,销毁并释放栈S所占用的内存空间
  • Push(&S,x):进栈,若栈S未满,则将x加入使之成为新的栈顶
  • Pop(&S,&x):出栈,若栈S非空,则弹出栈顶元素,并用x返回
  • GetTop(S,&x):读栈顶元素,若栈S非空,则用x返回栈顶元素

其他常见操作: StackEmpty(S):判断一个栈S是否为空,若S为空,则返回true,否则返回false

目录
相关文章
|
2月前
|
存储 算法
数据结构— —栈的基本操作(顺序栈和链栈)
数据结构— —栈的基本操作(顺序栈和链栈)
68 0
|
26天前
|
机器学习/深度学习
数据结构:线性表
数据结构:线性表
26 0
|
2月前
|
存储 设计模式 算法
【C/C++ 数据结构 线性表】深入理解与实现栈:从基础到应用的全面探索
【C/C++ 数据结构 线性表】深入理解与实现栈:从基础到应用的全面探索
54 0
|
10月前
|
存储 算法 C++
【数据结构】顺序表基本操作
【数据结构】顺序表基本操作
74 0
|
10月前
|
存储 机器学习/深度学习 C语言
数据结构-线性表(一)
数据结构-线性表(一)
|
10月前
|
存储 前端开发
数据结构-线性表(二)
数据结构-线性表(二)
|
12月前
|
前端开发
【初阶数据结构】——限定性线性表:栈 和 队列详解(C描述)
【初阶数据结构】——限定性线性表:栈 和 队列详解(C描述)
71 0
|
12月前
|
存储 C语言
【数据结构入门】-线性表之顺序表(1)
【数据结构入门】-线性表之顺序表(1)
95 0
【数据结构入门】-线性表之顺序表(1)
|
12月前
|
存储
大话数据结构--栈的顺序存储结构
大话数据结构--栈的顺序存储结构
71 0
|
12月前
|
存储
大话数据结构--栈的链式存储结构
大话数据结构--栈的链式存储结构
69 0