首页 > 代码库 > 关于链表_2

关于链表_2

链表的分类:

单链表:

双链表:

每一个节点有两个指针域

 

循环链表:

能通过任何一个节点找到其它所有的结点

非循环链表:

算法:

遍历

查找

清空

销毁

求长度

排序

删除节点

插入节点

 

下面举个例子

例1:

<script src="https://code.csdn.net/snippets/384597.js" type="text/javascript"></script>

对于程序中的一些函数名词含义,上篇博客已经说了,这次就不说了,总之,每个函数都有其相应的功能,最终将上面说的算法的各个功能都实现了。

 

本程序的功能是,输入要生成的链表的节点个数len(生成的链表存放的是整数),然后依次输入每个节点的内容,之后选择位置插入你想要插入的元素,紧接着判断链表是否为空(当然,肯定不为空了),再然后是选择删除第几个节点,最后输出余下元素的内容并输出原来链表和现在链表的长度,并将该链表的各个节点值进行排序后输出

给出一个输出的结果样例

输出结果为:


链表的优缺点

优点:

插入删除元素效率高

不需要一个连续的很大的内存

缺点:

查找某个位置的元素效率低

 

相对比而言,数组的优缺点是

优点:

存取速度快

缺点:

需要一个连续的很大是内存

插入和删除元素的效率很低

确定一个链表需要一个参数头指针),因为我们通过头指针可以推算出链表的其他参数

 


【所有代码均在windows系统下C-Free5.0下运行通过】

(如有错误,敬请指正)