全球旧事资料 分类
以不存储任何信息也可以存放一个特殊标志或表长。其作用就是为了对链表进行操作时将对第一个结点煌处理与对其它结点得处理统一起来。7、循环单链表、循环双链表。五、算法设计1、分析1当A、B表都不为空时比较AB表中各元素对应位置得内容得大小进而
判断AB得大小。2当AB表都不为空时且AB表中各各元素对应位置得内容相同时比较
AB得长度进而判断AB得大小或就是否相等。
co
stmaxsize顺序表得容量
ftypedefstruct
i
tdatamaxsize
i
tlast
sqlist
i
tCMP_sqlistsqlistAsqlistB
fori0iA、lastIB、lasti
ifA、dataiB、datairetur
1
ifA、dataiB、datairetur
1

ifA、lastB、lastretur
0
elseifA、lastB、lastretur
1
elseretur
1

2、1定位LOCATELX
在带头结点类单链表上实现得算法为
i
tlocate_lklistlklistheaddatatypex
求表head中第一个值等于x得得序号不存在这种结点时结果为0
phead
extj1
置初值
whilepNULLpdatax
pp
extj未达表结点又未找到值等于X得结点时经继续扫描
ifpdataxretur
j
else
retur
0

在无头结点得单链表上实现得算法为
i
tWlocatelklistheaddatatypeX
求表head中第一个值等于x得结点得序号。不存在这种结点时结果为0
pheadj1
置初值
whilepNULLpdatax
pp
extj未达表结点又未找到值等于X得结点时经继续扫描
ifpdataXretur
j
else
retur
0

2按序号查找fi
dLi
在带头结点得单链表上实现得算法为
poi
terfi
d_lklistlklistheadi
ti
j1phead
ext
whilej1pNULLpp
extj
ifijretur
p
felseretur
NULL

在无头结点得单链表上实现得算法为
poi
terfi
d_lklistlklistheadi
ti
j1phead
whilej1pNULLpp
extj
ifijretur
p
elseretur
NULL

3、插入INSERTLXi
在带头结点单链表上实现得算法为
voidi
sert_lklistlklistheaddatatypexi
tI
在表haed得第i个位置上插入一人以x为值得新结点
pfi
d_lklistheadi1先找第i1个结点
ifpNULLreeor“不存在第i个位置”若第i1个结点不存在退出
elsesmallocsizesdatax否则生成新结点
s
extp
ext结点p在链域值传给结点s得链域
p
exts
修改p得链域


在无头结点得单链表上实现得算法为
voidWi
sertlklistheaddataytpeXi
ti
在表haed得第i个位置上插入一人以x为值得新结点
ifi0error“i0”
elsesmallocsizesdataX否则生成新结点
ifi1s
extheadheads
elsepwfi
d_lklistlklistheadi1
ifpNULLerror“i
1”
elses
extpr
好听全球资料 返回顶部