【发布时间】:2021-01-15 05:15:26
【问题描述】:
class Node:
def __init__(self, item):
self.data = item
self.next = None
class LinkedList:
def __init__(self):
self.nodeCount = 0
self.head = None #Headnode(First node of LinkedList)
self.tail = None #Tailnode(Last node of LinkedList)
def getAt(self, pos): #pos = index number
if pos<=0 or pos>self.nodeCount:
return None
i = 1
curr = self.head
while i < pos:
curr = curr.next
i += 1
return curr
这是Python从DS类制作的LinkedList的代码。
我对此代码有 2 个问题
-
当我学习 C 和 C++ 时,要制作“节点类”,我必须制作数据字段和链接(指针)字段。我将下一个节点的地址(指针)存储在节点的链接字段中。所以我可以移动到下一个节点。但是在 Python 代码中,我不知道节点类的成员的“self.next”如何指向下一个节点。哪个保存在下一个字段中?
-
我没有在 Linked List 类中继承 Node 类。但是当我制作getAt函数时,如何在LinkedList类中使用Node类的成员函数'self.next'呢?
【问题讨论】:
-
0。请format您的代码块中的代码。 1. Python 为您抽象了指针,因此您不必自己搞乱它们。您需要做的就是将下一个节点的
Node对象分配给self.next。 2. 你不需要继承一个类来访问它的一个对象的成员。这种行为在大多数编程语言中都是一致的,包括 C/C++ -
0。感谢您的格式化并为我的错误感到抱歉,因为这是我第一次使用 stackoverflow ???? 1. 抱歉,“抽象指针”是什么意思?
-
“抽象”可能不是一个好词。我的意思是说,在 Python 中你不需要处理指针,因为语言会为你处理所有这些
标签: python data-structures linked-list overriding