# node defination
class _node :
def __init__(self, data):
self.data = data
self.next = None
class _queue:
# constractor
def __init__(self):
self.front = self.rear = None
# isempty
def isEmpty(self):
return self.front == None
# enqueue
def enQueue(self,item):
temp = _node(item)
if self.rear == None:
self.front = self.rear = temp
return
self.rear.next = temp
self.rear = temp
# dequeue
def deQueue(self):
if self.isEmpty():
return
temp = self.front
self.front = temp.next
if self.front == None:
self.rear = None
# driver code
if __name__ == '__main__':
q = _queue()
q.enQueue(10)
q.enQueue(20)
q.enQueue(30)
q.deQueue()
print("queue front : "+ str(q.front.data))
print("queue rear : "+str(q.rear.data))
$ python3 queue.py
queue front : 20
queue rear : 30