数据结构-2.5.单链表的定义


一.单链表的定义:

相比于顺序表,单链表不可随机存取,因此单链表中查找数据必须是一个一个找-->查找效率低


二.用代码定义一个单链表:

单链表每一个节点有数据元素存放该元素的指针,该指针指向下一个节点

GetElem方法解读:

把单链表L中的第i个节点取出来,并返回。

参数列表中LinkList L也可以用LNode *L。

LNode是一个结构体类型,LNode *就代表返回了一个指针,因为p为指针。(LNode * p)

LinkList是指针类型,用->关键词访问数据。

方法体解读:LNode *p=L->next;代表L是指针指向下一个节点

如果i为0,直接返回下一个节点;

不为0时如果走第二个if语句说明i为负数,边界点,如果是-1,下一个为0,但已经有了,

如果是-2,下一个是-1,就没意义了,返回空值。

两个if语句都没走时,就正常执行。

例如:


三.初始化单链表:

1.不带头结点的单链表:

注:InitList函数里的参数LinkList &L用了引用&,因为函数的结果最后还要用。没用&的话函数结束后相当于没调用。

2.带头结点的单链表:


四.不带头结点的单链表对比带头结点的单链表:

不带头结点的单链表那么头指针所指向的下一个节点就是实际用于存放数据的节点;

带头结点的单链表那么头指针他所指向的这个节点即头结点,是不存放实际元素的,只有这个头结点之后的下一个节点才会用于存放数据(常用带头结点的单链表)。


五.总结:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值