- 博客(7)
- 收藏
- 关注
原创 队列的链式表示和实现
用链表表示的队列简称为链队列。一个链队列显然需要两个分别指示队头和队尾的指针(分别称为头指针和尾指针)才能唯一确定。和线性表的单链表一样,为了操作方便起见,我们也给链队列添加一个头结点,并令头指针指向头结点。由此,空的链队列的判断条件为头指针和尾指针均指向头结点,如图所示//- - - - - - - - - -单链队列——队列的链式存储结构- - - - - - - - -t
2015-10-25 18:44:04 4185
原创 队列的顺序表示和实现
和顺序栈相类似,在队列的顺序存储结构中,除了用一组地址连续的存储单元依次存放从队列头到队列尾的元素之外,尚需附设两个指针front和rear分别指示队列头元素和队列尾元素的位置。为了在C语言中描述方便起见,在此我们约定:初始化建空队列时,令front=rear=0,每当插入新的队列尾元素时,“头指针增1”。因此,在非空队列中,头指针始终指向队列尾元素,而尾指针始终指向队列尾元素的下一个位置。
2015-10-22 18:45:22 6736 1
原创 栈的应用举例之进制转换
十进制数N和其他d进制数的转换时计算机实现甲酸的基本问题,其解决方法很多,其中一个简单算法基于下列原理:N=(N div d)×d+N mod d (其中,div为整除运算,mod为求余运算)例如:(1348)10=(2504)8,其运算过程如下:代码实现:#include#include#define OK 1#define ERROR 0#define TRUE
2015-10-21 09:41:20 619
原创 栈的顺序表示和实现
栈是仅限定在表位进行插入和删除的线性表。因此,对栈来说,表尾端有其特殊含义,称为栈顶,相应的表头端称为栈底。不含元素的空表称为空栈。假设栈S=(a1,a2,...,an),则称a1为栈底元素,an为栈顶元素。栈中元素按啊a1,a2,...,an的次序进栈,退栈的第一个元素应是栈顶元素。换句话说,栈的修改是按后进先出的原则进行的。因此,栈又称后进先出的戏线性表(简称LIFO结构)。栈
2015-10-20 17:34:27 4580
原创 线性表的归并
已知LA和LB中的数据元素按值非递减有序排列,现要求将LA和LB归并为一个新的线性表LC,且LC中的数据元素仍按值非递减有序排列。例如,设LA={3,5,8,11}LB={2,6,8,9,11,15,20}则LC={2,3,5,6,8,8,9,11,11,15,20}代码实现:(1)顺序表#include#include#include#define OK 1#
2015-10-20 16:16:07 971 1
原创 线性表的链式表示和实现
线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。因此,为了表示每个元素ai与其直接后继元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储其本身的信息之外,还需存储一个指示其直接后继的信息(即直接后继的存储位置)。这两部分信息组成数据ai的存储映像称为节点。它包括两个域:其中存储数据元素信息的域称为数据域;存储直接后继存储位置
2015-10-20 14:59:15 508
原创 线性表的顺序表示和实现
线性表的顺序表示指的是用一组地址连续的存储单元存储线性表的数据元素。假设线性表的每个元素需占用l个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表中第i+1个数据元素的存储位置LOC(ai+1)和第i个数据元素的存储位置LOC(ai)之间满足下列关系:LOC(ai+1)=LOC(ai)+l一般来说,线性表的第i个数据元素ai的存储位置为LOC(ai)=L
2015-10-19 20:21:07 320
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人