本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。
一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。
如有侵权,请留言作删文处理。
课程视频链接:
数据结构与算法基础–第3周03–2.5线性表的链式表示和实现3–单链表基本操作1-初始化和判断空表
📚 Week03_03_单链表初始化和判断空表
📚 Week03.03.01 单链表的初始化
即,构造一个如图的空表
【算法步骤】
(1) 生成新节点作头结点,用头指针 L 指向头结点
(2) 将头结点的指针域置空。
【算法描述】
typedef struct Lnode
{
ElemType data;
struct Lnode *next;
}LNode, * LinkList;
Status InitList L(LinkList &L)
{
L = new LNode;
// 或
// L= (LinkList)malloc(sizeof(LNode));
L->next = NULL;
return OK;
}
📚 Week03.03.02 判断单链表的是否为空
空表:链表中没有元素,称为空链表(头指针和头结点仍然在)
【算法思路】判断头结点指针域是否为空
若 L 是空表
【算法描述】
// 若L为空表,则返回 1,否则返回 0
int ListEmpty(LinkList L)
{
// 非空
if(L->next)
return 0;
else
return 1;
}