第1章 数据结构与算法(5)

2020-02-21 20:41

③读栈顶元素

读栈顶元素是指将栈顶元素赋给一个指定的变量。必须注意,此运算不删除栈顶元素,只是将其赋给一个变量,因此在这个运算中,栈顶指针不会改变。

当栈顶指针为0时,说明栈空,读不到栈顶元素。

课件演示:入栈与退栈操作.ppt

*考点11 队列及其基本运算 重点 1.队列的定义

队列(queue)是指允许在一端进行插入、而在另一端进行删除的线性表。

允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾,即尾指针总是指向最后被插入的元素;

允许删除的一端称为排头(也称队头),通常也用一个排头指针(front)指向排头元素的前一个位置。

队列又称为“先进先出”(first in first out,FIFO)或“后进后出” (last in last out,LILO)的线性表,它体现了“先来先服务”的原则。

在队列中,队尾指针与排头指针共同反映了队列中元素动态变化的情况。

当队列中没有元素时称为空队列。

下图为具有6个元素的队列示意图。

往队列的队尾插入一个元素称为入队运算,从队列的排头删除一个元素称为退队运算。下图为入队、退队运算示意图。

2.循环队列及其运算 重点

在实际应用中,队列的顺序存储结构一般采用循环队列的形式。

所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用,

其它内容不再介绍了

五、线性链表

*考点12 线性链表的基本概念 重点

在链式存储结构中,要求每个结点由两部分组成:一部分是用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中,指针用于指向该结点的前一个或后一个结点(即前件或后件)。

在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,

而数据元素之间的逻辑关系是由指针域来确定的。

链式存储方式既可用于表示线性结构,也可用于表示非线性结构。

1.线性链表

线性表的链式存储结构称为线性链表。 为了适应线性表中的链式存储结构,计算机存储空间被划分为一个一个小块,每一小块占若干字节,通常称这些小块为存储结点。

每个存储结点分为两部分:一部分用于存储数据元素的值,称为数据域;另一部分用于存放下一个数据元素的存储序号(即存储结点的地址),即指向后件结点,称为指针域。在线性链表中,存储空间的结构如下图所示。

在线性链表中,用一个专门的指针HEAD指向线性链表中第一个数据元素的结点。线性表中最后一个元素没有后件,因此线性链表中最后一个结点的指针域为空(用NULL或0表示),表示链表终止。线性链表中存储结点的结构如下图所示。

线性链表的逻辑结构如下图所示。

例:设线性表为(a1, a2, a3 , a4 , a5),存储空间具有10个存储结点,该线性表在存储空间中的存储情况如图1所示。为了直观地表示该线性表中各元素之间的前后件关系,还可以用如图2所示的逻辑状态来表示,其中每一个结点上面的数字表示该结点的存储序号(简称结点号)。

一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系不一致。

在线性链表中,各数据元素之间的前后件关系是由各结点的指针的指针域来指示的,指向线性表中第一个结点的指针HEAD


第1章 数据结构与算法(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:如何用WinPE系统安装Win7系统

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: