Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class LinkedQueue :
- class _Node :
- def __init__(self, element, next):
- self._element = element
- self._next = next
- def get_elements(self):
- return self._element
- def set_elements(self, num):
- self._element = num
- def __init__(self) :
- self._head = None
- self._tail = None
- self._size = 0
- def display(self):
- tmp = self._head
- while tmp != None :
- print(tmp.get_elements())
- tmp = tmp._next
- def __len__(self) :
- return self._size
- def is_empty(self) :
- return self._size == 0
- def first(self) :
- if self.is_empty() :
- raise Empty('Queue is empty')
- return self._head._element
- def dequeue(self) :
- if self.is_empty():
- raise Empty('Queue is empty')
- answer = self._head._element
- self._head = self._head._next
- self._size -= 1
- if self.is_empty() :
- self._tail = None
- return answer
- def enqueue(self, e) :
- newest = self._Node(e,None)
- if self.is_empty() :
- self._head = newest
- else :
- self._tail._next = newest
- self._tail = newest
- self._size += 1
- class Empty(Exception) :
- pass
- def menu():
- queue = LinkedQueue()
- while True:
- print('n - to add a number')
- print('q - to quit')
- selection = input('Enter your selection: ')
- if selection == 'n':
- number = int(input("Enter a number: "))
- queue.enqueue(number)
- elif selection == 'q':
- break
- for item in queue.display():
- n = item
- counter = 0
- for i in range(len(queue)):
- counter += 1
- print('Entry # ', counter, '=', n)
Add Comment
Please, Sign In to add comment