强烈推荐,零基础学数据结构 第4讲 栈.pptVIP

  • 2
  • 0
  • 约7.33千字
  • 约 53页
  • 2017-06-09 发布于湖北
  • 举报

强烈推荐,零基础学数据结构 第4讲 栈.ppt

第4章 栈 栈也是一种重要的线性结构。栈具有线性表的特点:每一个元素只有一个前驱元素和后继元素(除了第一个元素和最后一个元素外),但是在操作上与线性表不同,栈是一种操作受限的线性表,只允许在栈的一端进行插入和删除操作。 4.1 栈的表示与实现 栈是作为一种限定性线性表,只允许在表的一端进行插入和删除操作。本节主要介绍栈的定义和栈的抽象数据类型。 4.1.1 栈的定义 栈,也称为堆栈,它是一种特殊的线性表,只允许在表的一端进行插入和删除操作。栈顶是动态变化的,它由一个称为栈顶指针(top)的变量指示。当表中没有元素时,称为空栈。 栈的插入操作称为入栈或进栈,删除操作称为出栈或退栈。 4.1.1 栈的定义 4.1.2 栈的抽象数据类型 1.数据对象集合 2.基本操作集合 4.2 栈的顺序表示与实现 与线性表一样,栈也有两种存储表示:顺序存储和链式存储。本节的主要学习内容包括栈的顺序存储结构及顺序存储结构下的操作实现。 4.2.1 栈的顺序存储结构 采用顺序存储结构的栈称为顺序栈。顺序栈利用一组连续的存储单元存放栈中的元素,存放顺序依次从栈底到栈顶。由于栈中元素之间的存放地址的连续性,在C语言中,同样采用数组实现栈的顺序存储。 4.2.2 顺序栈的基本运算 在顺序存储结构中,栈的基本运算如下。以下算法的实现保存在文件“SeqStack.h”中。 (1)栈的初始化操作。 v

文档评论(0)

1亿VIP精品文档

相关文档