一起talk C栗子吧(第十二回:C语言实例--单链表一)


各位看官们,大家好,从今天开始,我们讲大型章回体科技小说 :C栗子,也就是C语言实例。闲话休提,

言归正转。让我们一起talk C栗子吧!


看官们,上一回中咱们没有说具体的例子,而且是说了例子中的文件组织结构。这一回咱们继续说C例子,

说的例子是链表,更准确的说法叫作单链表。咱们不但要说C例子,而且会在例子中使用上一回中说过的

文件组织结构,就当作是举例说明文件组织结构的使用方法。 有点一石二鸟的感觉,哈哈。


链表定义

看官们,所谓的链表其实就是一组元素通过一定的方式链接在一起。比如我们坐的火车和地铁,就是

把一节节的车厢链接在一起才形成了一个火车或者地铁。在软件开发中常用的链表有单链表,双向链

表和循环链表。今天,我们主要说的是单链表,其它类型的链表在后面的章回中依次介绍。


链表实现

单链表有两种实现方法,一种是线性存储,一种是链式存储。这么说,大家可能可能觉得有点抽象,不

容易理解。没关系,咱们用举个生活中的例子说明。


线性存储可以看作元素一个接一个的排列在一起,我们日常生活中的排队就可以看作是线性存储,队列

中的每个人看作是链表中的元素,排队时每个人都是一个跟着一个,生怕中间有个空间被其它人插队,

这种一个跟着一个的方式可以看作是线性存储。在写程序的时候,使用数组来表示单链表的线性存储。

数组中的元素大小相同,而且各个元素依次排列在一起,通过数组下标可以访问数组中的元素。


链式存储可以看作元素通过一条链连接在一起,我们日常生活中马路上的车队可以看作是链式存储。每

当上下班高峰的时候,马路上的车辆都是一个接一个地在马路上缓慢行走,远远望去就是一条汽车链。

每辆汽车可以看作链表中的元素,而这条汽车链就是通过马路连接在一起的。当然了,这些汽车里有一

些公交车,它们会在路边公交车站临时停车,供乘客上下车。但是不会影响其它汽车在马路上行走。我

们把公交车停在公交车站的当作从汽车链中删除一个元素。当公交车离开公交车站回到马路上时,可以

看作是向汽车链中插入一个元素。看官们能感觉到公交车在公交车站的停靠,对汽车链的影响非常小。

这也体现了单链表的好处,删除或者插入元素很方便。哈哈,把日常生活中的东西和链表这个抽象的概

念结合起来,是不是感觉理解容易了呢?


看官们,关于的单链表的例子,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击链接

下载使用。在例子中能看到:通过数组来实现单链表的顺序储存方式,同时提供了单链表常用的功能:遍

历链表,插入和删除元素,查找元素。


各位看官,关于单链表的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。


你可能感兴趣的:(链表)