from node import node as Node
class linkedQueue:
def __init__(self):
self.tail = None
def isEmpty(self):
return self.tail == None
def clear(self):
self.tail = None
def peek(self):
return self.tail.link.data
def enqueue(self, data):
if self.isEmpty():
node = Node(data, None)
node.link = node
self.tail = node
else:
node = Node(data, self.tail.link)
self.tail.link = node
self.tail = node
def dequeue(self):
if not self.isEmpty():
data = self.tail.link.data
if self.tail.link == self.tail:
self.tail = None
else:
self.tail.link = self.tail.link.link
return data
return None
def size(self):
count = 1
if not self.isEmpty():
start = self.tail.link
while start != self.tail:
start = start.link
count += 1
return count
else:
return 0
def display(self, msg="linkedQueue"):
print(msg, end=" : ")
if self.isEmpty():
print("None")
elif self.tail == self.tail.link:
print(self.tail.data)
else:
node = self.tail.link
while not node == self.tail:
print(node.data, end=" ->")
node = node.link
print(node.data)
Q = linkedQueue()
for i in range(10):
Q.enqueue(i)
Q.display()
for i in range(3):
Q.dequeue()
Q.display()
삽입
def enqueue(self, data):
if self.isEmpty():
node = Node(data, None)
node.link = node
self.tail = node
else:
node = Node(data, self.tail.link)
self.tail.link = node
self.tail = node
삭제