【发布时间】:2015-12-01 12:22:34
【问题描述】:
我试图从 2 小时开始整理我的程序,但每次我都遇到同样的错误。
我正在使用 python 开发Stack, Queue and Linked List 程序。
请帮帮我,我的代码有什么问题?
import random
class Node(object):
def __init__(self, other=None):
self.other = other
self.next = next
self.previous = previous
def __str__(self):
return str(self.other)
class List(object):
def __init__(self):
self.head = None
self.tail = None
def append(self, value):
newNode = Node(value)
if self.head == None:
self.head = newNode
self.tail = newNode
else:
self.tail.next = newNode
newNode.previous = self.tail
self.tail = newNode
def __str__(self):
someString = ""
current = self.head
while current != None:
someString = someString + current.other
current = current.next
return someString
class Queue(List):
def enqueue(self, value):
self.append(value)
def dequeue(self):
self.temp = self.head
self.head = self.head.next
return temp
class Stack(List):
def push(self, value):
self.append(value)
def pop(self):
self.temp = self.tail
self.tail = self.tail.previous
return self.temp
def main():
list1 = List()
for i in range(0, 100):
list1.append(str(random.randrange(0, 100)))
print(list1)
queue = Queue()
for i in range(0, 100):
queue.enqueue(str(random.randrange(0, 100)))
for i in range(0, 100):
print(queue.dequeue)
for i in range(0, 10):
print("----------------------------------------")
stack = Stack()
for i in range(0, 100):
stack.push(str(random.randrange(0, 100)))
for i in range(0, 100):
print(stack.pop())
if __name__ == "__main__":
main()
这是我的输出截图:
我们将不胜感激!
【问题讨论】:
-
在
Node的__init__方法中,other和previous应该来自哪里? -
您应该将错误消息放入代码块中的问题中,不作为屏幕截图。请看How do I ask a good question?
标签: python linked-list stack queue