Repository navigation
Expand file tree
/
Copy pathqueue_behaivour_using_stack.py
More file actions
91 lines (71 loc) · 1.76 KB
/
Copy pathqueue_behaivour_using_stack.py
File metadata and controls
91 lines (71 loc) · 1.76 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from collections import deque
class stack:
def __init__(self):
# self.stack1 = []
# self.stack2= []
self.stack1 = deque()
self.stack2 = deque()
def push(self , value):
self.stack1.append(value)
while self.stack1:
self.stack2.append(self.stack1.popleft())
def pop(self):
while len(self.stack1):
self.stack1.popleft()
def top(self):
if (self.stack1):
return self.stack1[0]
return None
def size(self):
return len(self.stack1)
# if self.stack2:
# self.stack2.pop()
# else:
# return None
# def traverse(self):
# res = ""
# while len(self.stack2) != 0:
# res = str(self.stack2.pop()) + res
# print(res)
if __name__ == '__main__':
s = stack()
s.push(1)
s.push(2)
s.push(3)
print("current size: ", s.size())
print(s.top())
s.pop()
print(s.top())
s.pop()
print(s.top())
print("current size: ", s.size())
# s.traverse()
# from stack import Stack
# value = [1,2,3,4]
# def queue_behaviour(value):
# s1 = deque()
# s2 = deque()
# for i in value:
# s1.append(i)
# # print(data)
# if len(s2 == 0):
# if len(s1 == 0):
# return "Empty"
# data = s1.pop()
# s2.append(data)
# else:
# s2.pop()
# # if s1.is_empty():
# # return "queue is empty"
# # else:
# # data = s1.pop()
# # s2.Push(data)
# # s2.pop()
# # res = ''
# # while not s2.is_empty():
# # res = str(s2.pop()) + res
# # print(res)
# queue_behaviour("1234")
# data = s1.pop()
# s2.Push(data)
# s2.pop()