-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueueky.py
More file actions
42 lines (34 loc) · 835 Bytes
/
queueky.py
File metadata and controls
42 lines (34 loc) · 835 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
from stack import Stack;
class Queueky():
def __init__(self):
self.__s = Stack()
def enqueue(self, elem):
self.__s.push(elem)
def dequeue(self):
temp = Stack()
cache = Stack()
while self.__s.count() > 1:
temp.push(self.__s.pop())
while temp.count() > 0:
cache.push(temp.pop())
result = self.__s.pop()
self.__s = cache
return result
def is_empty(self):
return self.__s.is_empty()
def top(self):
return self.__s.top()
def count(self):
return self.__s.count()
s = Queueky()
print(s.enqueue(5))
print(s.enqueue(3))
print(s.enqueue(5))
print(s.enqueue(7))
print(s.dequeue())
print(s.dequeue())
print(s.dequeue())
print(s.dequeue())
print(s.count())
print(s.is_empty())
print(s.top())