gpt4 book ai didi

python - 将元素添加到链表的末尾

转载 作者:行者123 更新时间:2023-12-01 05:01:13 25 4
gpt4 key购买 nike

我已经在 python 中完成了以下链接列表,它工作正常,但我想知道是否有另一种方法可以将 add_item 部分添加到链接列表中。在那部分中,我想要做的是将指针保留在第一个元素中,然后在其前面添加元素,例如:

1首先

1----->2首先

1----->2----->3首先

我的代码是:

class Node:
def __init__(self,elem=None,next=None):
self.elem=elem
self.next=next
def __repr__(self):
return 'Node(elem={}, next={})'.format(self.elem, self.next)


class LinkedList:
def __init__(self):
self.size=0
self.first=None
self.linkedlist=Node()

def add(self,elem):
node=Node(elem)
if self.size==0:
self.first=node
else:
self.linkedlist.next=node
self.linkedlist=node
self.size=self.size+1

是否有另一种方法可以在不使用 LinkedList 类构建器中的辅助 self.linkedlist 的情况下执行此行为?

谢谢

最佳答案

跟踪最后一个元素,并始终为其下一个元素添加一个新节点。然后更新最后的

class Node:

def __init__(self, elem=None, next=None):
self.elem = elem
self.next = next


class LinkedList:

def __init__(self):
self.size = 0
self.first = None
self.last = None

def add(self, elem):
node = Node(elem)
if self.size == 0:
self.first = node
self.first.next = node
self.last = node
else:
self.last.next = node
self.last = node
self.size += 1

关于python - 将元素添加到链表的末尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26140719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com