线性表10 - 数据结构和算法15
线性表10
让编程改变世界
Change the world by program
静态链表的插入操作
上节课我们说到,为了辨明数组中哪些分量未被使用,解决的方法是将所有未被使用过的及已被删除的分量用游标链成一个备用的链表。 每当进行插入时,便可以从备用链表上取得第一个结点作为待插入的新结点。 可能这样说大家都还是难以理解吧? 我们结合图片来讲解,这里我们假设要在A后边插入B:
[caption id="attachment_1908" align="alignnone" width="580"]
静态链表的插入操作[/caption]
相信大家现在可以理解什么叫“一图胜千言”和“No pic you say a J8”的深刻内涵了吧!
那我们来谈谈代码,代码由两部分组成:
首先是获得空闲分量的下标:
[codesyntax lang="c"]
int Malloc_SLL(StaticLinkList space)
{
int i = space[0].cur;
if( space[0].cur )
space[0].cur = space[i].cur;
// 把它的下一个分量用来作为备用。
return i;
}
[/codesyntax]
插入操作的实现代码如下:ListInsert.c
[buy] 获得所有教学视频、课件、源代码等资源打包 [/buy]
[Downlink href='http://kuai.xunlei.com/d/BdsUAwoTVQCHkxNRc38']视频下载[/Downlink]
[Downlink href='http://urlxf.qq.com/?raMjuuj']备胎下载[/Downlink]

浙公网安备 33010602011771号