大话数据结构笔记(四)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xintonghanchuang/article/details/89357439
  1. 静态链表:建立一个数组,每个数组元素都是由两个数据域组成,其中一个数据域存放数据元素,另外一个数据域存放下一个后继元素在数组中的下标,像这种利用数组描述的链表叫做静态链表.
  2. 静态链表数组的第一个元素,即下标为0的元素的cur就存放备用链表的第一个结点的下标;二数组的最后一个元素的cur则存放第一个有数值的元素的下标,相当于单链表中的头结点作用,当整个链表为空时,则为02.
    在这里插入图片描述
    在这里插入图片描述
  3. 静态链表的操作:

a. 插入
b. 删除

  1. 静态链表的优缺点

a. 优点:

i. 在插入和删除操作时,只需要修改游标,不需要移动元素,从而改进了在顺序存储结构中的插入和删除操作需要移动大量元素的缺点.

b. 缺点:

i. 没有解决连续存储分配的表长度难以确定的问题.
ii. 失去了顺序存储结构随机存取的特性.

  1. 循环链表:将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表(circular linked list).
    在这里插入图片描述

如果循环链表为带有头结点的空表:
在这里插入图片描述
6. 双向链表(double linked list):是在单链表的每个结点中,再设置一个指向其前驱结点的指针域.

a. 非空双向循环链表:
在这里插入图片描述
b. 空双向循环链表:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xintonghanchuang/article/details/89357439