def __init__(self):
     self.stack = ArrayStack()
     self.helper = ArrayStack()
Example #2
0
def reverse(data):
    s = ArrayStack()
    for x in data:
        s.push(x)
    for x in range(len(data)):
        data[x] = s.pop()
Example #3
0
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import sys

sys.path.append(
    "/Users/liangy/data-structure-algorithms-python/Stacks-queues-Deques")
from ArrayStack import ArrayStack, Empty
from r603 import transfer


def reverse_stack(S):
    s1 = ArrayStack()
    s2 = ArrayStack()
    transfer(S, s1)
    transfer(s1, s2)
    transfer(s2, S)


if __name__ == "__main__":
    S = ArrayStack()
    S.push(3)
    S.push(2)
    S.push(1)
    reverse_stack(S)
    for _ in range(3):
        print(S.pop())
Example #4
0
def reverse_stack(S):
    s1 = ArrayStack()
    s2 = ArrayStack()
    transfer(S, s1)
    transfer(s1, s2)
    transfer(s2, S)
Example #5
0
 def __init__(self):
     self._stack = ArrayStack()
"""Using the ArrayStack object to reverse a string"""

from ArrayStack import ArrayStack

forward = "Never odd or even"
reverse = ""

stack = ArrayStack()

for char in forward:
    stack.push(char)

while not stack.is_empty():
    reverse += str(stack.pop())

print(forward)
print(reverse)
Example #7
0
 def __init__(self):
     self.top_deque = ArrayDeque()
     self.bottom_stack = ArrayStack()
Example #8
0
def main():
    aStack = ArrayStack()
    lList = LinkedList()
    lStack = LinkedStack()
    print(type(node))
 def __init__(self):
     self.data = ArrayStack()
     self.reorder = ArrayDeque()
Example #10
0
 def __init__(self):
     self.data = ArrayStack()
 def __init__(self):
     self._s = ArrayStack()
     self._t = ArrayStack()
Example #12
0
"""
Show how to use the transfer function, described in Exercise R-6.3, and
two temporary stacks, to replace the contents of a given stack S with those
same elements, but in reversed order.
"""

from ArrayStack import ArrayStack


def transfer(S, T):
    while not S.is_empty():
        T.push(S.pop())


data = ArrayStack()
[data.push(x) for x in list(range(10))]
s1 = ArrayStack()
s2 = ArrayStack()

transfer(data, s1)
transfer(s1, s2)
transfer(s2, data)
print(data.look())
Example #13
0
 def __init__(self):
     self._stack = ArrayStack()
     self._inverted = False
     self._size = 0
Example #14
0
 def __init__(self):
     self.data = ArrayStack()
     self.curr_max = None
Example #15
0
 def __init__(self):
     self.enq = ArrayStack()
     self.deq = ArrayStack()