python数据结构之-----单向链表

数据结构:就是数据对象中数据元素的关系。

线性表:一个序列中元素在序列里的位置和顺序,表示实际应用中的某种意义的数据信息,或者表示数据之间某种关系叫做线性表

根据线性表的实际存储方式,分为两种实现模型:

1.顺序表:将元素顺序的存放在一块连续的存储区域,元素之间的顺序关系由他们的存储顺序自然表示

     python的标准类型list是一种元素个数可变的线性表,可以加入和删除元素,并在各种操作中维持已有的元素顺序

2.链表:将元素通过链接构造起来的一些列存储块中

链表是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点里存放下一个节点的位置信息

链表又分为

单向链表:是最简单的链表形式,每个节点包含两个域,信息域(元素域),连接域,这个连接域指向链表中的下一个节点,最后一个节点的连接域指向一个空值

单向循环链表

双向链表

今天我们来详细解释一下单向链表,以及单向链表的实现!

首先定义一个单向链表的节点的类

然后创建一个单链表的类

 

这样两个类都已经实现,接下来就是对单向链表的操作了!

以下所写的功能都是在单链表类的下面进行操作的!

1.首先实现判断链表是否为空的功能

这个功能很简单,当链表为空的时候,直接返回即可

2.判断链表的长度

首先创建一个链表对象,这个对象指向的是链表的头节点

初始化一个count,开始while循环,每次count的数量加1,每次变换cur的值,一直到最后一个节点。进行返回

3.遍历链表

与判断单链表的方法类似,去除了count,添加了一个访问的代码

4.向链表头部添加元素

思路,先创建一个节点对象,因为链表中的每一个节点都有两个域,一个存储自己的信息item,还有一个存储下一个节点的位置信息next。在上面的代码定义节点类的时候都已经定义好了。我们只用将新定义的节点的连接域next指向原先的头节点,将链表的头指向新的节点,就是将新节点添加在链表的头部

代码如下:

5.在链表的尾部添加元素

和向链表头部添加元素类似

思路:首先创建一个新节点;然后判断链表是否为空,如果为空,直接将node作为链表的头部即可。如果不为空,则一直循环到链表的最后一个节点,定义最后一个节点的指向即可。

代码:

 

 

单链表还有还好几个功能,如向指定位置添加元素,删除元素,查找元素等,这个在下一遍中将会写出来。

  • 谢谢大家支持!我只是一个刚刚起步的python菜鸟,请大家多多批评指正!

  • 多多交流,我们共同学习!

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值