python3怎么创建一个链表_单向循环链表

807962344ac8d7f12a1477ce923316bb.png

循环链表是一种链式存储结构,它的最后一个结点指向头结点,形成一个环。因此,从循环链表中的任何一个结点出发都能找到任何其他结点。

关键点: 最后一个节点指向头节点,即头结点->指向首元结点。

3ed5d1692fbda872aee87fdb644bebc1.png
空表

9965239e0059ce24d1288b5e56dfaac9.png
只有一个节点的

30037bc946c0cf0f52f907030b3a26a5.png
非空表

0.0.准备工作

#define ERROR 0

0.1.定义节点

//定义结点

1.链表的创建

步骤:1.创建一个节点

2ba557d1ff0ab29bd78e2cdeb1066e36.png
创建一个新节点

2.把新创建节点的next指向头

a723d3647488378bde70c2943c35bdc0.png
创建接节点的尾节点指向头

3.把前头结点的next指向新创建的节点‘

d27b9a79570db8043604acea115abb5f.png
修改头结点next,使其指向创建的节点

4.添加多个节点,道理类似

709e691d5d70d6ba060ef26200010530.png
创建多个节点
/*

2.链表的插入

分为两种情况

1.插在首元结点

要是插在首位,就要遍历找到尾节点.

a.创建新的节点

4969e767fcbdd23391cf324ae9103415.png
创建新节点

b.新创建节点的next指向头节点

6b8c10824fb7a7ac8efc65863bcb8e15.png

c.把尾节点的next指向head

1bfef9600d55abb064b7ad9db6825da2.png
修改尾节点的指向

d.修改head的指向

f550f2ee50274bca55cf9481b80f31ce.png
修改head的指向

2.插在其他地方

a.找到要插入位置的前一个节点(target),并创建一个新节点

3a3c6faeac3a7d6547322131e19cef88.png
找到要插入位置的前一个节点,并创建新的节点

b.把新创建节点的next指向targe的next

da77a6f37c59bcff66f4a7d5d353e3c3.png
新创建节点的next指向targe的next

c.修改target的next指向新创建的节点

cfdf254079f9c67d46af3b55b85a4ddb.png
//循环链表插入数据

3.循环链表删除元素

//循环链表删除元素

4.遍历链表和查找链表

// 遍历循环链表,循环链表的遍历最好用do while语句,因为头节点就有值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值