2.2 和队列的顺序存储结构

2.2 和队列的顺序存储结构


2.2 栈和队列的顺序存储结构
  栈和队列的顺序存储结构是线性表的顺序存储结构的特殊形式,具有顺序存储线性表的一些…

2.2 和队列的顺序存储结构

2.2 栈和队列的顺序存储结构

  栈和队列的顺序存储结构是线性表的顺序存储结构的特殊形式,具有顺序存储线性表的一些基本特征,同时,又具有其本身的一些特殊性质。

2.2.1 顺序栈

  顺序栈就是使用顺序存储结构实现的栈,它使用一组地址连续的存储单元依次从栈底到栈顶存放数据元素。
  1.顺序栈的生成方式
  栈的生成方式是指栈在存储空间中的实现方法,按栈顶指针和栈底位置的指示不同分为以下两种。
  ① 向下生成的栈:栈顶在高地址端,栈底在低地址端。
  ② 向上生成的栈:栈顶在低地址端,栈底在高地址端。
  2.顺序栈的存储结构
  顺序栈的存储结构既可以采用静态数组,也可以采用动态数组。
  ① 静态数组定义栈。定义一个数据元素为Elemtype的顺序存储栈的例子如下:
  
  ② 动态数组定义栈。在以上结构中,栈的最多数据元素个数为定值Maxsize,数据元素的数量不能随意增加,这是静态数组描述栈的缺点。为了实现可变的存储数据元素数,可以参考线性表的静态存储方式,使用一个动态分配的数组来取代上述固定长度数组,如下所示:
  
  3.顺序栈的操作
  顺序栈的操作继承了线性表的基本操作,但又有其特殊性。基本操作有初始化、判空栈、入栈、出栈和取栈顶元素等。
  ① 初始化栈算法。初始化一个栈就是建立栈空间,其算法思想是:先申请栈存储空间,然后将栈底和栈顶指针都指向栈的第一个单元。算法描述如下:
  
  ② 判空栈算法。判断一个栈是否为空的条件是“S.top=S.base”,算法很简单,直接返回表达式“S.top= =S.base”的值即可。
  
  ③ 入栈算法。入栈前必须先判断栈是否满,若已满,可以重新申请栈存储空间,若申请失败,应返回出错信息。算法描述如下:
  
  ④ 出栈算法。出栈前必须先判断栈是否为空,若已空,则返回错误信息。算法描述如下:
  
  ⑤ 取栈顶元素算法。取栈顶元素时应先判断栈是否空,若空,则返回出错信息。算法描述如下:
  

2.2 和队列的顺序存储结构

    关于作者: admin

    这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字活着HTML!

    为您推荐

    发表评论

    电子邮件地址不会被公开。 必填项已用*标注

    评论列表 人参与

    联系我们

    联系我们

    8888-88888888

    在线咨询: QQ交谈

    邮箱: email@admin.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部