一个简单的链表的实现

最近在看算法导论, 觉得有些东西可以记录下-》这篇文章只是为了记录。

 

1. 链表的特点

链表是一个非常常用的数据结构,其有如下几个基本特点:

1. 其内存空间是线性但是非连续的。

2. 对于插入和删除有O(1)的时间复杂度

3. 不能被索引化

4. 查找慢

 

2. 简单的链表实现

2.1 链表的内存模型

一个典型的双向链表包含一个关键字域,一个前驱,一个后继。

其结构源码如下所示:

 

 

 

 

2.2 链表的创建

下面是一个创建n个节点的链表。

 

 

2.3 节点的查找

 


时间复杂度为O(n), 这里能看出链表的查找为什么慢了。

 

2.4 链表的插入

 

 

时间复杂度为O(1).

 

2.5 链表的删除

 


时间复杂度为O(1);

2.6 测试代码

 

 

 

3 . 小结

    这篇文章的主要目的就是为了把写的东西记录下来, 现在记录完毕了。

posted @ 2010-07-17 16:00  sld666666  阅读(1346)  评论(0编辑  收藏  举报