单链表(配合数构第二章的笔记使用)

单链表

头指针用来记录链表第一个元素的地址,链表名可以取头指针名

头指针为空,证明链表是空表

结点:数据元素的存储映像

数据域

指针域

  • 你可以选择把箭头理解成指向元素的地址(因为你也不知道那个地址具体是什么)
  • 其指针的定义为嵌套定义(定义的类型为所在结构体类型)
  • Lnode:普通的(结点)结构体类型变量,可以Lnode a;或者Lnode *a。a.next或者a.data来操作结点的两个域
  • *LinkList,指向(结点)结构体类型的指针,比Lnode更简便的一种定义,可以LinkList a,代表a指针指向一个结点。

首元结点:链表中存储第一个数据元素a1的结点

头结点:为了操作方便,在首元结点之前加了个该结点

头指针指向头结点,头结点为空,证明链表是空表

好处

  • 使首元结点和其后的所有结点处理一致
  • 使空表和非空表处理统一处理

数据域可存链表长(头结点不算进表长)

操作

操作单链表最常用两语句:p=L;(从头结点开始)p=L->next(从首元结点开始)

定义链表,用LinkList 头指针名;而定义结点指针p,通常用LNode *p;

  • 因为头指针名通常被认为是链表名,也因为他是头指针,指针。
  • 这样更直观,理解起来方便。
  • 如果有多个数据域(结构体数据成员很多),则直接单独开一个结构体把数据域作为这个结构体的成员,把该结构体typedef成ElemType,然后结点结构体里就可以写ElemtType data;了,这样可以统一链表的操作

初始化表

  • 关键算法

    • L=new Lnode;
    • L->next=NULL;
  • 参数表

    • &L
    <
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值