Python 如何将节点添加到链接列表中?
我正在创建一个函数,它接受一个排序的链表和一个值。我通过new_node=LN(v)创建一个具有给定值的新节点。我正在尝试返回一个链接列表,其中新节点位于正确的位置。这个例子将有助于澄清 Ex) ll=将列表转换为链接列表([4,7,9,14])我有一个链接列表:4->7->9->12->14 职能: 插入订单(ll,12) 返回“4->7->9->12->14->None”的链接列表 我完全无法理解如何将新节点插入正确的位置。函数中的最后一个else语句不正确Python 如何将节点添加到链接列表中?,python,data-structures,linked-list,nodes,Python,Data Structures,Linked List,Nodes,我正在创建一个函数,它接受一个排序的链表和一个值。我通过new_node=LN(v)创建一个具有给定值的新节点。我正在尝试返回一个链接列表,其中新节点位于正确的位置。这个例子将有助于澄清 Ex) ll=将列表转换为链接列表([4,7,9,14])我有一个链接列表:4->7->9->12->14 职能: 插入订单(ll,12) 返回“4->7->9->12->14->None”的链接列表 我完全无法理解如何将新节点插入正确的位置。函数中的最后一个else语句不正确 def insert_order
def insert_ordered(ll,x):
new_node = LN(v) #Creates new node
#If given ll is empty, newnode is the linkedlist
if ll == None:
ll = new_node
#Makes new_node the head of ll if first val is >= new_node value.
elif ll.value >= new_node.value:
temp = ll
ll = new_node
ll.next = temp
#[ERROR] Adds new_node between two nodes of ll in sorted order.
else:
while ll.next != None:
if ll.value < new_node.value:
ll = ll.next
new_node.next = ll.next
ll.next = new_node
return ll
def插入命令(ll,x):
新建节点=LN(v)#创建新节点
#如果给定的ll为空,则newnode是linkedlist
如果ll==无:
ll=新的_节点
#如果第一个val大于等于新节点值,则使新节点成为ll的头。
elif ll.value>=新节点值:
温度=ll
ll=新的_节点
ll.next=temp
#[错误]按排序顺序在ll的两个节点之间添加新的_节点。
其他:
而你,下一个!=无:
如果ll.value
迭代求解后,是否可以递归求解?尝试以下方法:
class LN:
def __init__(self, value):
self.value = value
self.next = None
def insert_ordered(root, data):
node = LN(data)
if root == None:
return node
else:
if root.value > data:
node.next = root
return node
else:
temp, prev = root, None
while temp.next and temp.value <= data:
prev = temp
temp = temp.next
if temp.next == None and temp.value <= data:
temp.next = node
else:
node.next = prev.next
prev.next = node
return root
root = None
root = insert_ordered(root, 4)
root = insert_ordered(root, 7)
root = insert_ordered(root, 9)
root = insert_ordered(root, 14)
root = insert_ordered(root, 12)
#4->7->9->12->14
class-LN:
定义初始值(自身,值):
自我价值=价值
self.next=无
def插入命令(根,数据):
节点=项次(数据)
如果根=无:
返回节点
其他:
如果root.value>数据:
node.next=root
返回节点
其他:
温度,上一个=根,无
而临时下一步和临时值9->12->14
您的问题到底是什么?您好,我正在尝试返回一个链表,其中按顺序包含原始链表和v all的值。我添加的示例输入和输出可能有助于澄清问题。