background image

一般情况下,如果插入运算在第 i(1<=i<=n)个元素之前进行,则原来第 i 个之后(包括
第 i 个元素)的所有元素都必须移动。

 

考点九 顺序表的删除运算
一般情况下,如果要删除第 i(1<=i<=n)个元素,则原来第 i 个元素之后的所有元素都必须
依次向前移动一个位置。
1.4.1 栈和队列
*考点十栈及基本运算
栈是限定在一端进行插入与删除的线性表。栈顶元素总是最后插入的元素,也是最先被删

除的元素。按照 先进后出 (FILO-First In Last Out )的原则。由此可以看出,栈有记忆作
用。通常用 top 指针指向栈顶元素,用 bottom 指针指向栈底元素。
栈的三种基本运算:入栈运算、退栈运算和读栈运算。
(1)入栈运算是指在栈顶位置插入一个新元素。这个运算有两个基本操作:首先将栈顶
指针(top 加一)进一,然后将新元素插入到栈顶指针指向的位置。
当栈顶指针已经指向存储空间的最后一个位置时,说明栈空间已满,再进行入栈操作称

为 上溢 错误。
(2)退栈运算。首先将栈顶元素(栈顶指针指向的元素)赋给一个指定的变量,然后将
栈顶指针退一(top 减一)。
当栈顶指针为 0

时,说明栈空,不可能进行退栈操作。这种情况称为 下溢 错误。

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

 

考点十 队列及基本运算

队列是指允许在一端(rear)进行插入,另一端进行(front

)删除的线性表。按照 先进先

出 原则。
通常用 rear 指向队尾元素,用 front 指向排头元素的前一个位置。
入队运算,rear 指针加一,front 指针不变;
退队运算,front 指针加一,rear 指针不变。
1.5 线性链表
*考点 12 线性链表的基本概念
补充:假设数据结构中的每一个数据结点对应于一个存储单元,这种存储单元称为存储
结点,简称结点。
在链式存储方式中,要求每个结点都由两部分组成:一部分用于存放数据元素值,称为
数据域;另一部分用于存放指针,成为指针域。其中指针用于指向该结点的前一个或后一
个结点(即前件或后件)。
在链式存储结构中,存储数据结构的存储空间可以不连续,个数据结点的存储顺序与数
据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的,
链式存储方式既可以用于表示线性关系结构,也可用于表示非线性结构。
1.6 树与二叉树
考点 15 树的基本概念
树是一种简单的非线性结构。
在树结构中,每一个结点只有一个前件,称为父结点。没有前件的结点只有一个,称为树
的根结点,简称树的根。
在树结构中,每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点
称为叶子结点。
在树的结构中,一个结点所拥有的后件个数称为该结点的度。所有结点中最大的度称为树