2
ヘッドポインタ(テールなし)を使用してキューリンクリストを作成しようとしています。 しかし、私はリストの最後にエンキューしているようです。1つだけのヘッドポインタを使用してキューのリンクリストを構築する
例:コードはc -> b -> a
になりますが、逆の場合はa -> b -> c
となります。
class Node:
'''A node for a linked list.'''
def __init__(self, initdata):
self.data = initdata
self.next = None
class Queue(object):
def __init__(self):
self.head = None
def enqueue(self, item):
"""Add an item onto the tail of the queue."""
if self.head == None:
temp = Node(item)
temp.next = self.head
self.head = temp
else:
current = self.head
while current != None:
current = current.next
if current == None:
temp = Node(item)
temp.next = current
current = temp
def dequeue(self):
if self.head == None:
raise IndexError("Can't dequeue from empty queue.")
else:
current_first = self.head
current = self.head.next
return current_first.data