基于C语言的链表的创建

为了对链表有一些了解,这里以单链表进行对其了解

首先,通过图形来简单了解和感受一下链表的基本原理:

基于C语言的链表的创建_第1张图片结点是包括数据域和指针域的。或许很多人会说为什么要头结点,可不可以不要?答案是可以的

个人建议最好用上,为什么?先了解链表是怎么遍历整个链表的。

我们要打印出链表的数据域的值,假设是没有头结点的,如下图:

基于C语言的链表的创建_第2张图片

要打印出数据域的值,只需要得到首结点的指针就可以了。那么有个问题,如果该链表需要插入在首结点前面插入一个结点,那么还可以用原来首结点的指针就可以遍历整个链表吗?

基于C语言的链表的创建_第3张图片

显然是不可以的,因为新插入的结点无法被搜索到,只能遍历首结点后的。

好了,回到刚刚的那个问题,为什么要头结点,相信大家知道了吧,头结点可以防止插入新的结点后就遍历不了整个链表了。 

接下来就讲讲怎么创建一个链表吧

代码如下:

本来想直接复制代码过来的,感觉这样大家看的比较麻烦,还是上照片吧

基于C语言的链表的创建_第4张图片

基于C语言的链表的创建_第5张图片

基于C语言的链表的创建_第6张图片

最后用图形来展现一下链表创建的过程:

基于C语言的链表的创建_第7张图片

大家如果有什么疑问,评论区见哦。希望可以帮到大家,谢谢。 

你可能感兴趣的:(链表,数据结构)