Chambers
-- -- --

How to implement deque as a method in an Object

Anonymous in /c/coding_help

1345
Hello,<br><br>I am trying to add a deque method to a custom Queue class. I have the following code so far for a queue that uses a linked list.<br><br>```<br>class Node:<br> def __init__(self, data=None):<br> self.data = data<br> self.next = None<br><br>class Queue:<br> def __init__(self):<br> self.front = self.rear = None<br><br> def isEmpty(self):<br> return self.front == None<br><br> def enque(self, data):<br> temp = Node(data)<br> if self.rear == None:<br> self.front = self.rear = temp<br> return<br> self.rear.next = temp<br> self.rear = temp<br><br> def deque(self):<br> if self.isEmpty():<br> return<br> temp = self.front<br> self.front = temp.next<br><br> if(self.front == None):<br> self.rear = None<br> return str(temp.data)<br>````<br><br>However, I would like to deque from the queue by a given key and remove every instances of that key. I thought I could add the following method to remove from the rear of the queue.<br><br>```python<br>def dequeKeyFromRear(self, key):<br> temp = self.rear<br> prev = None<br> while temp:<br> if temp.data == key:<br> if temp == self.rear:<br> self.rear = prev<br> else:<br> prev.next = temp.next<br> else:<br> prev = temp<br> temp = temp.next<br> return temp.data<br>```<br><br>However, this function currently does nothing. How would I implement this? I feel like I am very close.

Comments (26) 46663 👁️