Advertisement
Guest User

Untitled

a guest
Mar 26th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. class Queue:
  2. # Constructor creates a list
  3.  
  4. def __init__(self):
  5. self.queue = list()
  6.  
  7. # Adding elements to queue
  8.  
  9. def enqueue(self, data):
  10.  
  11. # Checking to avoid duplicate entry (not mandatory)
  12.  
  13. if data not in self.queue:
  14. self.queue.insert(0, data)
  15. return True
  16. return False
  17.  
  18. # Removing the last element from the queue
  19.  
  20. def dequeue(self):
  21. if len(self.queue) > 0:
  22. return self.queue.pop()
  23. return 'Queue Empty!'
  24.  
  25. # Getting the size of the queue
  26.  
  27. def size(self):
  28. return len(self.queue)
  29.  
  30. # printing the elements of the queue
  31.  
  32. def Print(self):
  33. return self.queue
  34.  
  35. def hotPotato(namelist, num):
  36. # initialise new queue with some data
  37. simqueue = Queue()
  38. for name in namelist:
  39. simqueue.enqueue(name)
  40.  
  41. while simqueue.size() > 1:
  42. # after num count, dequeue and then enqueue immediately
  43. for i in range(num):
  44. simqueue.enqueue(simqueue.dequeue())
  45.  
  46. # dequeue
  47. simqueue.dequeue()
  48.  
  49. return simqueue.dequeue()
  50.  
  51. print(hotPotato(["Bill","David","Susan","Jane","Kent","Brad"],17))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement