线性表的链表实现

来源:互联网 发布:旋转矩阵大全 编辑:程序博客网 时间:2024/06/14 03:08

单链表与实现

        单链表的基本存储结构是结点。结点的结构已经介绍过了,这里不再重复。单链表是通过结点的指针域将各个结点串联在一起的。

        单链表的第一个结点和最后一个结点分别被称作首结点和尾结点,链表的head指向首结点,链表的tail指向尾结点(一般来说链表只有head引用,不过可以允许添加tail引用以执行特殊操作)。

        单链表的查找操作,只能从链表的首结点开始,通过每个结点的next引用来依次访问链表中的每个结点以完成对应的操作。

        单链表的插入和删除操作,是通过在链表中插入和删除数据元素所属的结点完成的。

        单链表的实现也很简单,关键是要通过已知方法获得目标结点的前驱。这样一来一个结点的前驱和后继都能得到,在执行删除和插入操作就会非常简单。

双向链表与实现

        双向链表和单链表相似,不同之处是双向链表的结点具有两个指针域,分别为前驱指针域与后继指针域。双向链表通过pre和next指针域将各个结点联系在一起,插入和删除操作同实现了获得目标结点前驱的单链表相似。

0 0