Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Can you help me implement a _min(), _max(), _mean() function that returns the minimum, maximum and mean value of a Linked list? class LinkedQueue: FIFO

Can you help me implement a _min(), _max(), _mean() function that returns the minimum, maximum and mean value of a Linked list?

class LinkedQueue:

"""FIFO queue implementation using a singly linked list for storage."""

#-------------------------- nested _Node class --------------------------

class _Node:

"""Lightweight, nonpublic class for storing a singly linked node."""

__slots__ = '_element', '_next' # streamline memory usage

def __init__(self, element, next):

self._element = element

self._next = next

#------------------------------- queue methods -------------------------------

def __init__(self):

"""Create an empty queue."""

self._head = None

self._tail = None

self._size = 0 # number of queue elements

def __len__(self):

"""Return the number of elements in the queue."""

return self._size

def is_empty(self):

"""Return True if the queue is empty."""

return self._size == 0

def first(self):

"""Return (but do not remove) the element at the front of the queue.

Raise Empty exception if the queue is empty.

"""

if self.is_empty():

print('Queue is empty')

return ""

#raise Empty('Queue is empty')

return self._head._element # front aligned with head of list

def dequeue(self):

"""Remove and return the first element of the queue (i.e., FIFO).

Raise Empty exception if the queue is empty.

"""

if self.is_empty():

print('Queue is empty')

return ""

#raise Empty('Queue is empty')

answer = self._head._element

self._head = self._head._next

self._size -= 1

if self.is_empty(): # special case as queue is empty

self._tail = None # removed head had been the tail

return answer

def enqueue(self, e):

"""Add an element to the back of queue."""

newest = self._Node(e, None) # node will be new tail node

if self.is_empty():

self._head = newest # special case: previously empty

else:

self._tail._next = newest

self._tail = newest # update reference to tail node

self._size += 1

def disp(self): #by XJ

next = self._head

while next != None:

print(next._element)

next = next._next

if __name__ == '__main__':

lQueue = LinkedQueue()

print(lQueue.is_empty())

lQueue.enqueue(1)

lQueue.enqueue(2)

lQueue.enqueue(3)

print(lQueue.is_empty())

lQueue.disp()

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

DNA Databases

Authors: Stefan Kiesbye

1st Edition

0737758910, 978-0737758917

More Books

Students also viewed these Databases questions

Question

=+ a. How does this change affect the incentives for working?

Answered: 1 week ago