线性表的链式存储结构

本文深入探讨了链式存储的概念,它允许逻辑上相邻的节点在物理位置上不相邻,通过指针字段来表示节点间的关系。链表作为一种特殊的链式存储结构,被广泛用于数据组织。在单链表中,每个节点包含一个数据域和一个指针域,用于存储节点值和指向下一个节点的地址。动态内存分配函数如malloc()和free()在创建和销毁链表节点时起关键作用。通过对链表的操作,可以实现各种数据结构和算法。
摘要由CSDN通过智能技术生成

 1、链式存储:用一组任意的存储单元存储线性表, 逻辑上相邻的结点 在物理位置上不一定相邻,结点间的逻辑关系由存储结点时附加的指针字 段表示

2、链表:采用链式存储方法的线性表称为链表。

3、每一个结只包含一个指针域的链表,称为单链表 为了正确表示结点间的逻辑关系,在存储每个结点值的同时,还必须 存储指示其直接后继结点的地址(或位置),称为指针(pointer)或链(link), 这两部分组成了链表中的结点结构 链表结点结构 data :数据域,存放结点的值。next :指针域,存放结点的直接后 继的地址。 带头结点的单链表的逻辑状态 物理存储方式 2.3.2 单链表的表示与操作 2.3.2.1 存储结构表示 结点是通过动态分配和释放来的实现,即需要时分配,不需要时释 放。实现时是分别使用C语言提供的标准函数:malloc() ,realloc(), sizeof() ,free() .

动态分配 p=(LNode*)malloc(sizeof(LNode)); typedef int ElemType; typedef struct Lnode { ElemType data; /*数据域,保存结点的值 */ struct Lnode *next; /*指针域*/ }LNode; /*结点的类型 */ 动态释放 free(p) ; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值