【数据结构】【线性表】静态链表(附C语言源码)

静态链表

链表是物理结构为链式的线性表,其每个结点的存储位置不一定是连续的,每个结点依靠结点元素的中的指针线性相连。但有时候为了方便管理内存空间,会将链表的各个结点存储空间放在一块,其实现方式类似于数组,只不过由传统的数据类型改为结构体类型。

#include MaxSize 20;
typedef struct {//定义单链表结点类型
	EleType deta;//每一个结点存放一个数据元素
	int next;//指向下一个结点所在数组位置
}SLinkList[MaxSize];
该结构体定义了一个新的东西,名字为:SLinkList,它表示一个结构体数组,数组的每个元素都等同于该结构体
typedef struct LNode{//定义单链表结点类型
	EleType deta;//每一个结点存放一个数据元素
	struct LNode *next;//指针指向下一个结点
}LNode,*LinkList;
这是原来的单链表结构体的定义

[!静态链表结构体和普通链表结构体的比较]

  • 将结构体指针换成了整型变量。静态链表不再通过结构体指针去链接结点,而是通过整型变量去表示结点之间的关系。
  • 重定义将单个结构体换成了结构体数组。在进行结构体的重定义时,不再定义为一个结构体,而是定义成一个结构体数组用于存储链表,使得链表的物理空间从分散的变成了一整块。
//原有的结构体只定义了一个结构体,原有结构体重定义等效于:
typedef struct LNode LNode,*LinkList;
//静态链表的结构体定义了一个结构体数组,静态链表结构体重定义等效于:
ty
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值