File tree Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Expand file tree Collapse file tree 1 file changed +49
-0
lines changed Original file line number Diff line number Diff line change 1+ class StackedQueue :
2+
3+ def __init__ (self ):
4+ self .stack = Stack ()
5+ self .alternateStack = Stack ()
6+
7+ def enqueue (self , item ):
8+ while (not self .stack .is_empty ()):
9+ self .alternateStack .push (self .stack .pop ())
10+
11+ self .alternateStack .push (item )
12+
13+ while (not self .alternateStack .is_empty ()):
14+ self .stack .push (self .alternateStack .pop ())
15+
16+ def dequeue (self ):
17+ return self .stack .pop ()
18+
19+ def __repr__ (self ):
20+ return repr (self .stack )
21+
22+ class Stack :
23+ def __init__ (self ):
24+ self .items = []
25+
26+ def push (self , item ):
27+ self .items .append (item )
28+
29+ def pop (self ):
30+ return self .items .pop ()
31+
32+ def size (self ):
33+ return len (self .items )
34+
35+ def is_empty (self ):
36+ return self .items == []
37+
38+ def __repr__ (self ):
39+ return str (self .items )
40+
41+ if __name__ == "__main__" :
42+ structure = StackedQueue ()
43+ structure .enqueue (4 )
44+ structure .enqueue (3 )
45+ structure .enqueue (2 )
46+ structure .enqueue (1 )
47+ print (structure )
48+ structure .dequeue ()
49+ print (structure )
You can’t perform that action at this time.
0 commit comments