链表

对于我这种非程序员出生的人,尤其是从C#入门的人,压根不知道链表是啥,所以现在恶补。

 

链表:是一种线性数据结构,每一个元素存储了数据本身以外,还存储了另一个元素的指针。

与数组对比:

优点:数组需要预先确定数组大小,而链表不需要

缺点:由于元素需要额外存储其他元素的指针,需要更多空间域

 

链表分为单向链表、双向链表和循环链表

单向链表:每个元素存储下一个元素的指针

双向链表:在单向的基础上还存储上一个元素的指针。在单向链表中,假设原来A元素上存储了B元素的指针,可以从A找到B,但是不能从B找到A,因为B元素上没有存储A元素的指针。所以在B元素上存储A元素的指针的链表叫做双向链表。

循环链表:链表的末元素的指针的下一个元素的指针指向该链表的首元素。需要额外存储首末两个元素,以必要时作判断。

在循环链表中,虽然B元素没有存储A元素的指针,但是仍然可以找到A元素,这就是循环链表的优势。

 

通俗理解,不足望指出。

posted @ 2014-10-15 11:34  二师弟tl  阅读(186)  评论(0编辑  收藏  举报