Source code for pyDS.queue
[docs]class Queue:
"""An implementation of the Queue data strucutre."""
def __init__(self):
self._items = []
def __repr__(self):
return "pyDS.queue.Queue({})".format(self._items)
def __str__(self):
return str(self._items)
def __len__(self):
return len(self._items)
[docs] def is_empty(self):
"""Check queue is empty.
Returns:
True if Queue is empty, False otherwise.
"""
return self._items == []
[docs] def enqueue(self, item):
"""Add item to Queue.
Args:
item: The item to be inserted.
"""
self._items.append(item)
[docs] def dequeue(self):
"""Remove item from queue.
Returns:
The first item from the Queue. Raises IndexError if Queue empty.
"""
if not self.is_empty():
return self._items.pop(0)
else:
raise IndexError("Queue is empty")
[docs] def front(self):
"""Return the first Queue item.
Returns:
The first item from the Queue. Raises IndexError if Queue empty.
"""
if not self.is_empty():
return self._items[0]
else:
return IndexError("Queue is empty")
[docs] def rear(self):
"""Return the last Queue item.
Returns:
The last item from the Queue. Raises IndexError if Queue empty.
"""
if not self.is_empty():
return self._items[-1]
else:
return IndexError("Queue is empty")