数据结构链表的初始化插入删除_数据结构的c++实现之栈-链式栈

aef717142bad2a9452a7b47168a6e851.png

数据结构的C++实现之栈-链式栈

注:本文为清华大学计算机系列教材《数据结构》-殷人昆-第2版的学习笔记

栈的定义

栈(STACK)定义为只允许在表的末端进行插入和删除的线性表.允许插入和删除的一端叫做栈顶(top),而不允许插入和删除的另一端叫做栈底(bottom),当栈中没有任何元素时称为空栈.栈对数据存取的特点是"先进后出".

链式栈

栈的抽象数据类型有两种典型的存储表示:基于数组的存储表示和基于链表的存储表示.基于数组的存储表示实现的栈称为顺序栈,基于链表的存储表示实现的栈称为链式栈.

采用链式栈来表示一个栈,便于结点的插入与删除.在程序中同时使用多个栈的情况下,用链接表示不仅能够提高效率,还可以达到共享存储空间的目的.

单链表的抽象基类文件

/*

单链表的头文件

// 单链表头文件:LinkedList.h

栈的头文件

//  栈的头文件:stack.h

链式栈的头文件

// 链式栈的头文件:LinkedStack.h

链式栈的实现文件

// 链式栈的实现文件:LinkedStack.cpp

运行结果:

6bbd8874f3b0e2d1f64d102d7c09a60f.png
稻草人:数据结构的c++实现之栈-顺序栈​zhuanlan.zhihu.com
243af0b66d3c41d6bda380c69b20005a.png
稻草人:数据结构的C++实现之线性表-单链表​zhuanlan.zhihu.com
243af0b66d3c41d6bda380c69b20005a.png
稻草人:数据结构的C++实现之线性表-顺序表​zhuanlan.zhihu.com
243af0b66d3c41d6bda380c69b20005a.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值