You are on page 1of 2

class Node: #node

def __init__(self, data):


self.data = data
self.next = None

class Queue: #queue


def __init__(self):
self.front = self.rear = None

def enqueue(self): #append data to queue


node = Node()

if self.front is None:
self.front = self.rear = node
else:
self.rear = node

def dequeue(self): #del data from queue


if self.front is None:
print("Queue is empty")
else:
self.front = self.front.next

def display(self):
current = self.front
while current != None:
print(current.data, '', end='')
current = current.next
print()

def inbox(self, name): #application queue


for i in name:
self.enqueue(i)

def interview_queue(self): #separate queue for interviewing


new_queue = ''
current = self.front

for i in self.front:
new_queue += i
current = current.next

def sched_interview(self): #sched interviews


interviewees = self.interview_queue()

for i in self.front:
interviewees += i
current = current.next

class Stack: #stack


def _init__(self):
self.top = None

def push(self): #append data onto stack


node = Node()

if self.top is None:
node = self.top
else:
node.next = self.top
self.top = node

def pop(self): #del data from stack


if self.top is None:
print("Stack is empty")
else:
self.top = self.top.next

def peek(self): #check the top data


if self.top is None:
print("Stack is empty")
else:
return self.top.data

def display(self):
current = self.top
while current != None:
print(current.data, '', end='')
current = current.next
print()

def review_stack(self): #view applications


queue = Queue()
while queue is not None:
self.push(queue.enqueue())

def hiring_decision(self): #queue to stack


queue = Queue()
while queue is not None:
self.push(queue.interview_queue())

# sample usage
app = Queue()
app.inbox('Ja')
app.display()

You might also like