class ListItem():
def __init__(self, val, next = None):
self.next = next
self.value = val
self.next本质上是指向下一个列表项的指针。现在,您可以使用以下内容创建链接列表:
^{pr2}$
然后遍历列表:
pointer = head
while(pointer):
print(pointer.value)
pointer = pointer.next
您也可以插入链表样式,它看起来很像c代码:
#insert 'inserted_node' before first list item with value 1
inserted_node = ListItem('inserted')
pointer = head
while(pointer):
if pointer.next.value == 1:
inserted_node.next = pointer.next
pointer.next = inserted_node
break
pointer = pointer.next
我用Javascript看了很多这本书。有趣的一部分是把想法翻译成你熟悉的语言。你需要理解这本书是关于思想的,而不是一种特定的语言。然而,稍微熟悉一下c语言将真正帮助您理解示例。在
因此,例如,您可能不太可能像在c中那样在python中使用链表,但是您肯定可以从示例中使用指向其他属性的类和对象属性来实现它们。在
考虑一个简单的链接列表:
^{pr2}$self.next
本质上是指向下一个列表项的指针。现在,您可以使用以下内容创建链接列表:然后遍历列表:
您也可以插入链表样式,它看起来很像c代码:
这是一本很棒的书,即使你不是用c语言或其他低级语言写的,也值得一读。而且,即使你花时间在python中通常不会用到的数据结构上,进行翻译也会让你成为一个更好的python程序员。在
相关问题 更多 >
编程相关推荐