本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。
一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。
如有侵权,请留言作删文处理。
课程视频链接:
数据结构与算法基础–第3周06–2.5线性表的链式表示和实现6–单链表基本操作4–求单链表的表长
📚 Week03_06_求单链表的表长
【求单链表的表长】
【算法思路】
从首元结点开始,依次计数所有结点
让指针变量 p 指向首元结点?
首元结点的地址存储在头结点的 next 域,将头结点的 next 域赋值给指针变量 p,就可以让指针变量 p 指向第头结点。
让指针变量 p 移向下一个结点?
将下一结点的地址赋值给指针变量 p,下一节点的地址存储在当前结点的 next 域,
即,将当前结点的 next 域赋值给指针变量 p
p = p->next;
【算法描述】求单链表 L 的表长
// 返回 L 中数据元素个数
int ListLength_L(LinkList L){
int i = 0;
LinkList p;
// p 指向第一个结点
p = L->next;
// 遍历单链表,统计结点数
while(p){
i++;
p = p->next;
}
return i;
}
学习笔记最后有微信公众号:惟CPP,欢迎关注,一起交流学习进步~