2022年1月17日

摘要: 利用一组连续的存储单元(一维数组) 依次存放从队首到队尾的各个元素,称为顺序队列。 对于队列,和顺序栈相类似,也有动态和静态之分。 本部分介绍的是静态顺序队列,其类型定义如下: 1 #define MAX_QUEUE_SIZE 100 2 typedef struct queue 3 { ElemT 阅读全文
posted @ 2022-01-17 22:59 拒绝bug 阅读(76) 评论(0) 推荐(0) 编辑
 
摘要: 1 队列的基本概念 队列(Queue):也是运算受限的线性表。 是一种先进先出(First In First Out ,简称FIFO)的线性表。 只允许在表的一端进行插入,而在另一端进行删除。 队首(front) :允许进行删除的一端称为队首。 队尾(rear) :允许进行插入的一端称为队尾。 例如 阅读全文
posted @ 2022-01-17 22:44 拒绝bug 阅读(59) 评论(0) 推荐(0) 编辑

2022年1月15日

摘要: 1 栈的链式表示 栈的链式存储结构称为链栈,是运算受限的单链表。 其插入和删除操作只能在表头位置上进行。 因此,链栈没有必要像单链表那样附加头结点,栈顶指针top就是链表的头指针。图3-4是栈的链式存储表示形式。 1 链栈的结点类型说明如下: 2 typedef struct Stack_Node 阅读全文
posted @ 2022-01-15 17:50 拒绝bug 阅读(44) 评论(0) 推荐(0) 编辑
 
摘要: 一、定义 采用静态一维数组来存储栈。栈底固定不变的,而栈顶则随着进栈和退栈操作变化的, ◆ 栈底固定不变的;栈顶则随着进栈和退栈操作而变化,用一个整型变量top(称为栈顶指针)来指示当前栈顶位置。 ◆ 用top=0表示栈空的初始状态,每次top指向栈顶在数组中的存储位置。 ◆ 结点进栈:首先执行to 阅读全文
posted @ 2022-01-15 17:44 拒绝bug 阅读(55) 评论(0) 推荐(0) 编辑
 
摘要: 一、定义 采用动态一维数组来存储栈。所谓动态,指的是栈的大小可以根据需要增加。 ◆ 用bottom表示栈底指针,栈底固定不变的;栈顶则随着进栈和退栈操作而变化。用top(称为栈顶指针)指示当前栈顶位置。 ◆ 用top=bottom作为栈空的标记,每次top指向栈顶数组中的下一个存储位置。 ◆ 结点进 阅读全文
posted @ 2022-01-15 17:37 拒绝bug 阅读(189) 评论(0) 推荐(0) 编辑
 
摘要: 一、概念导入 栈和队列本质是一种操作受限的线性表 栈在计算机的实现有多种方式: ◆ 硬堆栈:利用CPU中的某些寄存器组或类似的硬件或使用内存的特殊区域来实现。这类堆栈容量有限,但速度很快; ◆ 软堆栈:这类堆栈主要在内存中实现。堆栈容量可以达到很大。在实现方式上,又有动态方式和静态方式两种。 二、栈 阅读全文
posted @ 2022-01-15 17:26 拒绝bug 阅读(84) 评论(0) 推荐(0) 编辑

2022年1月13日

摘要: 1 简述下列术语:线性表,顺序表,链表。 2 何时选用顺序表,何时选用链表作为线性表的存储结构合适?各自的主要优缺点是什么? 3 在顺序表中插入和删除一个结点平均需要移动多少个结点?具体的移动次数取决于哪两个因素? 4 链表所表示的元素是否有序?如有序,则有序性体现于何处?链表所表示的元素是否一定要 阅读全文
posted @ 2022-01-13 22:15 拒绝bug 阅读(173) 评论(0) 推荐(0) 编辑
 
摘要: 1 一元多项式的表示 一元多项式 p(x)=p0+p1x+p2x2+ … +pnxn ,由n+1个系数唯一确定。 则在计算机中可用线性表(p0 ,p1 ,p2 ,… ,pn )表示。 既然是线性表,就可以用顺序表和链表来实现。两种不同实现方式的元素类型定义如下 1 (1)顺序存储表示的类型 2 ty 阅读全文
posted @ 2022-01-13 22:13 拒绝bug 阅读(279) 评论(0) 推荐(0) 编辑
 
摘要: 1 双向链表的结点及其类型定义 双向链表的结点的类型定义如下。 其结点形式如图2-7所示,带头结点的双向链表的形式如图2-8所示。 ; 1 typedef struct Dulnode 2 { ElemType data ; 3 struct Dulnode *prior , *next ; 4 } 阅读全文
posted @ 2022-01-13 22:02 拒绝bug 阅读(94) 评论(0) 推荐(0) 编辑
 
摘要: 循环链表的操作 对于单循环链表,除链表的合并外,其它的操作和单线性链表基本上一致, 仅仅需要在单线性链表操作算法基础上作以下简单修改: ⑴ 判断是否是空链表:head->next==head ; ⑵ 判断是否是表尾结点:p->next==head ; 阅读全文
posted @ 2022-01-13 21:53 拒绝bug 阅读(59) 评论(0) 推荐(0) 编辑