一起talk C栗子吧(第十二回:C语言实例--单链表一)
各位看官们,大家好。从今天開始,我们讲大型章回体科技小说 :C栗子。也就是C语言实例。闲话休提,
言归正转。
让我们一起talk C栗子吧!
看官们,上一回中咱们没有说详细的样例,并且是说了样例中的文件组织结构。这一回咱们继续说C样例。
说的样例是链表,更准确的说法叫作单链表。咱们不但要说C样例,并且会在样例中使用上一回中说过的
文件组织结构,就当作是举例说明文件组织结构的用法。 有点一石二鸟的感觉,哈哈。
链表定义
看官们,所谓的链表事实上就是一组元素通过一定的方式链接在一起。比方我们坐的火车和地铁。就是
把一节节的车厢链接在一起才形成了一个火车或者地铁。
在软件开发中经常使用的链表有单链表,双向链
表和循环链表。今天。我们主要说的是单链表。其他类型的链表在后面的章回中依次介绍。
链表实现
单链表有两种实现方法,一种是线性存储,一种是链式存储。这么说。大家可能可能认为有点抽象,不
easy理解。没关系。咱们用举个生活中的样例说明。
线性存储能够看作元素一个接一个的排列在一起,我们日常生活中的排队就能够看作是线性存储,队列
中的每一个人看作是链表中的元素,排队时每一个人都是一个跟着一个,生怕中间有个空间被其他人插队。
这样的一个跟着一个的方式能够看作是线性存储。在敲代码的时候。使用数组来表示单链表的线性存储。
数组中的元素大小同样,并且各个元素依次排列在一起,通过数组下标能够訪问数组中的元素。
链式存储能够看作元素通过一条链连接在一起,我们日常生活中马路上的车队能够看作是链式存储。每
当上下班高峰的时候。马路上的车辆都是一个接一个地在马路上缓慢行走,远远望去就是一条汽车链。
每辆汽车能够看作链表中的元素,而这条汽车链就是通过马路连接在一起的。
当然了,这些汽车里有一
些公交车,它们会在路边公交车站暂时停车。供乘客上下车。可是不会影响其他汽车在马路上行走。我
们把公交车停在公交车站的当作从汽车链中删除一个元素。当公交车离开公交车站回到马路上时,能够
看作是向汽车链中插入一个元素。
看官们能感觉到公交车在公交车站的停靠,对汽车链的影响很小。
这也体现了单链表的优点。删除或者插入元素非常方便。哈哈,把日常生活中的东西和链表这个抽象的概
念结合起来,是不是感觉理解easy了呢?
看官们,关于的单链表的样例。正文中就不写代码了,具体的代码放到了我的资源中,大家能够点击链接
下载使用。
在样例中能看到:通过数组来实现单链表的顺序储存方式,同一时候提供了单链表经常使用的功能:遍
历链表,插入和删除元素,查找元素。
各位看官,关于单链表的样例咱们就讲到这里。欲知后面还有什么样例,且听下回分解。