def__init__(self): """ ------------------------------------------------------- Initializes an empty Queue. Data is stored in a Python list. Use: source = Queue() ------------------------------------------------------- Returns: a new Queue object (Queue) ------------------------------------------------------- """ self._values = [] defis_empty(self): """ ------------------------------------------------------- Determines if source is empty. Use: b = source.is_empty() ------------------------------------------------------- Returns: True if source is empty, False otherwise. ------------------------------------------------------- """ return len(self._values) == 0 def__len__(self): """ ------------------------------------------------------- Returns the length of source. Use: n = len(source) ------------------------------------------------------- Returns: the number of values in source (int >= 0) ------------------------------------------------------- """ return len(self._values) definsert(self, value): """ ------------------------------------------------------- Adds a copy of value to the rear of source. Use: source.insert(value) ------------------------------------------------------- Parameters: value - data (*) Returns: None ------------------------------------------------------- """ self._values.append(deepcopy(value)) return defremove(self): """ ------------------------------------------------------- Removes and returns the front value from source. Use: value = source.remove() ------------------------------------------------------- Returns: value - the value at the front of source, the value is removed from source (*) ------------------------------------------------------- """ assert len(self._values) > 0, "Cannot remove from an empty queue" value = self._values.pop(0) return value defpeek(self): """ ------------------------------------------------------- Peeks at the front of source. Use: value = source.peek() ------------------------------------------------------- Returns: value - a copy of the value at the front of source, the value is not removed from source (*) ------------------------------------------------------- """ assert len(self._values) > 0, "Cannot peek at an empty queue" value = deepcopy(self._values[0]) return value
def__init__(self):
"""
-------------------------------------------------------
Initializes an empty Queue. Data is stored in a Python list.
Use: source = Queue()
-------------------------------------------------------
Returns:
a new Queue object (Queue)
-------------------------------------------------------
"""
self._values = []
defis_empty(self):
"""
-------------------------------------------------------
Determines if source is empty.
Use: b = source.is_empty()
-------------------------------------------------------
Returns:
True if source is empty, False otherwise.
-------------------------------------------------------
"""
return len(self._values) == 0
def__len__(self):
"""
-------------------------------------------------------
Returns the length of source.
Use: n = len(source)
-------------------------------------------------------
Returns:
the number of values in source (int >= 0)
-------------------------------------------------------
"""
return len(self._values)
definsert(self, value):
"""
-------------------------------------------------------
Adds a copy of value to the rear of source.
Use: source.insert(value)
-------------------------------------------------------
Parameters:
value - data (*)
Returns:
None
-------------------------------------------------------
"""
self._values.append(deepcopy(value))
return
defremove(self):
"""
-------------------------------------------------------
Removes and returns the front value from source.
Use: value = source.remove()
-------------------------------------------------------
Returns:
value - the value at the front of source, the value is
removed from source (*)
-------------------------------------------------------
"""
assert len(self._values) > 0, "Cannot remove from an empty queue"
value = self._values.pop(0)
return value
defpeek(self):
"""
-------------------------------------------------------
Peeks at the front of source.
Use: value = source.peek()
-------------------------------------------------------
Returns:
value - a copy of the value at the front of source,
the value is not removed from source (*)
-------------------------------------------------------
"""
assert len(self._values) > 0, "Cannot peek at an empty queue"
value = deepcopy(self._values[0])
return value

Step by step
Solved in 4 steps with 4 images









