What do I do to fix enqueue so it prints 4 3 2 1 not 1 2 3 4

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

Python This is what I have 

class linkedQueue:
    class _Node:
        def __init__(self, value, next = None):
            self._data = value
            self._next = next

        def get_data(self):
            return self._data

        def set_data(self, value):
            self._data = value

        def get_next(self):
            return self._next

        def set_next(self, nodetopoint = None):
            self._next =  nodetopoint
    
    def __init__(self):
        self._head = None
        self._tail = None
        self._size = 0
    
    def enqueue(self, itemValue):
        # Inserts a new item (the data of the item is set to itemValue) at the end of the queue and returns True. If unable to insert the item (due to error) return false.
        node = self._Node(itemValue)
        if self._head is None:
            self._head = node
        else:
            self._tail._next = node
        self._tail = node
        self._size += 1
        return True

    def dequeue(self):
        # Removes the item from the front of the queue and returns it. For unsuccessful dequeue (due to error or when the queue is empty) return False
        if self.isEmpty():
            return False
        else:
            node = self._head
            self._head = node.get_next()
            self._size -= 1
            return node.get_data()

    def peek(self):
        # Returns the item at the front of the queue without removing it from the queue. If queue is empty return false.
        if self.isEmpty():
            return False
        else:
            return self._head.get_data()

    def isEmpty(self):
        # Returns true when queue is empty else returns false
        return self._size == 0

    def getSize(self):
        # Returns the size of the queue and for empty queue returns 0
        return self._size

    def _flipqueue(self):
        # flips the direction of the links in the queue. So after this the item at the tail will become head and the item at the tail will become head
        # Sample: Given the queue: head-> p -> o -> t -> None then after using this method the queue will become head -> t -> o -> p -> None
        current = self._head
        prev = None
        while current is not None:
            next = current.get_next()
            current.set_next(prev)
            prev = current
            current = next
        self._head = prev
    
    def printQueue(self):
        # Prints the items in the queue where the item in the left is the latest and item at the right is the oldest item. Use ' ' (white space) to seperate the items. If queue is empty print empty.
        # Example: After enqueueing 
        # Q.enqueue(1)
        # Q.enqueue(2)
        # Q.enqueue(3)
        # Q.enqueue(4)
        # Q.printQueue() 
        # prints 4 3 2 1
        if self.isEmpty():
            print("empty")
        else:
            current = self._head
            items = []
            while current is not None:
                items.append(str(current.get_data()))
                current = current.get_next()
            print(" ".join(items))
Q = linkedQueue()
Q.enqueue(1)
Q.enqueue(2)
Q.enqueue(3)
Q.enqueue(4)
Q.printQueue() 

What do I do to fix enqueue so it prints 4 3 2 1 not 1 2 3 4

Expert Solution
steps

Step by step

Solved in 3 steps with 8 images

Blurred answer
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