单链表——增加中间插入节点的功能

该博客探讨了如何在单链表中实现中间位置的节点插入操作,但未涵盖处理末尾节点插入的情况。
摘要由CSDN通过智能技术生成
这里暂时没有考虑pos位于尾部的情况
# 节点的定义:
class Node:
	'''节点的定义'''
	def __init__(self,val):
		self.val = val
		self.next = None


# 单链表的定义:
class SingleLinkList:
	# 这里调用节点的定义,创建一个空链表,self.__head表示始终指向链表的头
	def __init__(self,Node=None):
		self.__head = Node 	# 

	# 给空链表里面插入数据:
	#这里val指用户给的一个数

	#头插
	def headadd(self,val):
		# 这里指:将数字val变成节点,然后插入空链表中
		node = Node(val)
		# 所以我们要把这个节点的next指向上述空链表的中
		node.next = self.__head
		self.__head = node 

	#尾插
	def tailadd(self,val):
		# val 变节点
		node = Node(val)
		cur = self.__head
		if cur == None:
			self.headadd(node)
		else:
			while cur.next:
				cur= cur.next
			cur.next = node


	#中间插
	def middleadd(self,val,pos):
		node = Node(val)
		if pos<=0:
			self.headadd(node)
		else:
			#找到待插位置前一个节点
			cur = self.__head
			for i in range(pos-1):
				cur = cur.next
			node.next = cur.next
			cur.nex
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值