Skip to content

Instantly share code, notes, and snippets.

@scriptpapi
Last active May 13, 2018 02:39
Show Gist options
  • Save scriptpapi/b96229f9308184d3ad5d61dffc35ffe5 to your computer and use it in GitHub Desktop.
Save scriptpapi/b96229f9308184d3ad5d61dffc35ffe5 to your computer and use it in GitHub Desktop.
# Basic queue implementation: using collections
from collections import deque
class Queue:
def __init__(self):
self.items = deque()
def isEmpty(self):
return self.items == deque([])
def enqueue(self, data):
self.items.append(data)
def dequeue(self):
return self.items.popleft()
def size(self):
return len(self.items)
def getFront(self):
return self.items[0]
def getBack(self):
return self.items[len(self.items) - 1]
def find(self, value):
if value in self.items:
return self.items.index(value)
else:
return False
# Test cases
"""
q1 = Queue()
q1.enqueue(12)
print(q1.size())
q1.enqueue(23)
q1.enqueue(-12.434)
q1.enqueue("Lou")
q1.enqueue("Justin")
print(q1.size())
q1.enqueue(34)
print(q1.size())
print("index >", q1.find(23))
print(q1.getFront())
print(q1.getBack())
q1.dequeue()
print(q1.size())
print(q1.isEmpty())
q1.dequeue()
q1.dequeue()
print(q1.isEmpty())
print(q1.items)
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment