学习数据结构,了解数据结构的根本概念 第一章 了解栈和队列的概念

一、栈和队列的概念

定义:
栈(stack)是一个特殊的线性表,是限定仅在一端(通常是表尾)
进行插入和删除操作的线性表。
又称为后进先出(Last In First Out) 的线性表,简称LIFO结构
相关概念:
表尾(即an端)称为栈顶Top
表头(即a1端)称为栈底Base
例如:栈S=(a1,a2,a3...,an1,an)a1称为栈底元素,an称为栈顶元素

插入元素到栈顶(即表尾)的操作,称为入栈(PUSH)
从栈顶(即表尾)删除最后一个元素的操作,称为出栈(POP)

栈只能在栈顶进行插入和删除的操作,只能在an-1尾部进行插入,插入an之后,只能先删除an然后再删除an-1 

逻辑结构
 与同线性表相同,仍为一对一关系。

存储结构
用顺序栈或链栈存储均可,但以顺序栈更常见

运算规则
只能在栈顶运算,且访问结点时依照后进先出(LIFO)的原则。

实现方式
关键是编写入栈和出栈函数,具体实现依顺序栈或链栈的不同而不同

队列
定义:
队列(queue)是一种在表一端插入(表尾),在另一端(表头)删除的线性表。
又称为先进先出(FristInFristOut)的线性表,简称FIFO结构。
相关概念
表尾(即an端)称为队尾
表头(即a1端)称为队首
插入元素到队尾(即表尾)的操作,称为入队(PUSH)
从队首(即表头)删除第一个元素的操作,称为出队(POP) 

实际上生活中很多情况符合的是后进先出(LIFO)和先进先出(FIFO)的原则

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值