数据结构重学日记(十)循环链表和静态链表

概念

循环链表可以分为循环单链表和循环双链表。

循环单链表

循环单链表即尾指针改为指向头结点的单链表,整个链表形成一个环。

单链表的判空条件是头结点的后继指针是否为空,而循环单链表的判空条件为头结点后继指针是否等于头指针。

循环双链表

类似于单链表,首尾结点构成环。

空表:头结点的 prev 和 next 都等于 H

静态链表

用数组来描述线性表的链式存储结构。

静态链表也包含数据域和指针域(数组下标),又称游标。

实现

#define MaxSize 50
// 静态链表的最大长度

typedef int ElemType
typedef struct{
    ElemType data;
    // 数据域:存储数据元素

    int next;    
    // 指针域:存储下一个元素的数组下表
}SLinkList[MaxSize];

  • 数组的第一个元素不存储数据,它的指针域存储第一个元素所在的数组下标。
  • 链表最后一个元素的指针域值为 -1 。
静态链表
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容