栈的学习总结

  •      上一章我们学习到了线性表,其重点也是数据的存储结构,这一章我们来讨论一下"特殊的线性表"一一栈与队列。栈与队列和线性表一样,是两种十分常用的数据结构。他们各有各的特点和使用方式。
  •       
  •      栈
  •      栈是限定仅在一端进行插入和删除的操作的线性表,允许插入和删除的一端称为栈顶,另一端称为栈底。不含任何数据元素的栈称为空栈。这与线性表不同,线性表可以选择进行删除或添加的位置。而栈只能在栈底操作,而且始终秉持着后进先出的原则。
  •       
  •      顺序栈和顺序表无太大差异,有着只是栈和线性表的差异。栈需要定义一个栈顶指针top指向栈顶数据。顺序栈中包含的基本成员函数有:构造函数,析构函数,入栈(入栈top加一),出栈(出栈top减一),取栈顶元素,判空。
  •    顺序栈是静态存储分配,不用定义析构函数,为空。
  •    判断是否为空栈只需要判断top是否等于-1即可。
  链栈
  其结点结构与单链表一致。首先第一步与单链表构建一致,先定义结点。每个结点存储着数据也存储这下面数据的地址。基本操3作与顺序栈一致。在入栈出栈的操作上更偏向类似单链表中的插入删除操作。
 
总结来说 栈类似一个死胡同,先进的只能后出,后进的只能先出。具体实现代码,数据结构课本上有些十分详细的介绍。
 
通过资料查询得知,我们也可以直接调用栈,不需要我们构建。头文件stack。stack<数据类型>栈名。即可直接调用。里面包含的函数功能有push()入栈。pop()出栈。top()取栈顶元素。empty()判空。等都可以直接调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值