我有一个链表漂亮的打印机,它从命令提示符输入。例如,打印xyz
我的代码如下:
class Randomcalss:
def __init__(self, val):
self.val = int(val)
def to_string(self):
return "printing linked list:"
def children(self):
for field in self.val.type.fields():
key = field.name
val = self.val[key]
yield key,val.dereference()
它按预期工作,并打印:
printing linked list:= {head = {next = 0x625590, prev = 0x623c70}}
但是如果我想遍历链表,我该怎么做呢?因为每次我试着访问head['next']它说head是一个字符串字符串的下标必须是整数
我能不能做一些像self。Val[键]也可以访问头部的下一个节点吗?
您可以执行value .dereference()['next'],这将为您提供列表下一个成员的地址。您可以强制转换获得的值(如果需要)并进一步遍历。