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

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

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

 

Expert Solution
steps

Step by step

Solved in 4 steps with 4 images

Blurred answer
Knowledge Booster
Stack
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education