python:py_lists:py_code:queues
Queues Algorithms
| Creating a Queue by Queue Class Algorithm |
|---|
class Node:
def __init__(self, data, next=None):
self.data = data
self.next = next
class Queue:
def __init__(self):
self.front = None
self.rear = None
self._size = 0
def enqueue(self, item):
self._size += 1
node = Node(item)
if self.rear is None:
self.front = node
self.rear = node
else:
self.rear.next = node
self.rear = node
def dequeue(self):
if self.front is None:
raise IndexError('pop from empty queue')
self._size −= 1
temp = self.front
self.front = self.front.next
if self.front is None:
self.rear = None
return temp.data
def size(self):
return self._size
|
| Python's Built-In Queue Class Algorithm |
from queue import Queue
q = Queue()
q.put('a')
q.put('b')
q.put('c')
print(q.qsize())
for i in range(3):
print(q.get())
|
| Create a Queue from two Stacks Algorithm |
class Queue:
def __init__(self):
self.s1 = []
self.s2 = []
def enqueue(self, item):
while len(self.s1) != 0:
self.s2.append(self.s1.pop())
self.s1.append(item)
while len(self.s2) != 0:
self.s1.append(self.s2.pop())
def dequeue(self):
if len(self.s1) == 0:
raise Exception("Cannot pop from empty queue")
return self.s1.pop()
|
| XX Queues Algorithm |
| XX Queues Algorithm |
| XX Queues Algorithm |
python/py_lists/py_code/queues.txt · Last modified: by adminguide
