静态链表

来源:互联网 发布:php 工程师应聘 编辑:程序博客网 时间:2024/05/22 06:28

当某些语言不支持指针的时候,我们如何实现一个链表的数据结构呢??那么我们可以采用静态链表

#define MAXSIZE 999typedef struct{ElementType Data;//数据int cur;//游标 相当于next指针}Component,StaticLinkList[MAXSIZE]


我们队数组的第0个和最后一个元素做特殊处理,他们的data不存放数据

1.我们通常把未使用的数组元素称为备用链表

2.数组的第一个元素,即下表为0的那个元素的游标就存放备用链表的第一个结点的下标

3.数组的最后一个元素,即下表为MAXSIZE-1的cur则存放第一个有数值的元素(上图就是A)的下标,相当于单链表的头结点作用


静态链表的初始化:

Status InitList(StaticLinkList space){int i;for(i=0;i<MAXSIZE-1;i++){space[i].cur=i+1;}space[MAXSIZE-1].cur=0;//最后一个元素指向第0个元素return OK;}


0 0