示例#1
0
 def depthFirstSearch(self):
     s = Stack(100)
     visited = []
     head = self.root
     s.push(head)
     while not s.isStackEmpty():
         if head.getData() not in visited and head.getLeft():
             head = head.getLeft()
             s.push(head)
         else:
             head = s.pop()
             visited.append(head.getData())
             print(head.getData())
             if head.getRight():
                 head = head.getRight()
                 s.push(head)
 def depthFirstSearch(self):
     s       = Stack(100)
     visited = []
     head    = self.root
     s.push(head)
     while not s.isStackEmpty():
         if head.getData() not in visited and head.getLeft():
             head = head.getLeft()
             s.push(head)
         else:
             head = s.pop()
             visited.append( head.getData() )
             print (head.getData())
             if head.getRight():
                 head = head.getRight()
                 s.push(head)
示例#3
0
def paren_checker(string):
    stack = Stack()

    for char in string:
        if char == '(':
            stack.push(char)
        elif char == ')':
            if stack.contains_items():
                stack.pop()
            else:
                return 'Unbalanced'

    if stack.contains_items():
        return 'Unbalanced'
    else:
        return 'Balanced'
示例#4
0
def paren_checker(string):
    stack = Stack()

    for char in string:
        if char == "(":
            stack.push(char)
        elif char == ")":
            if stack.contains_items():
                stack.pop()
            else:
                return "Unbalanced"

    if stack.contains_items():
        return "Unbalanced"
    else:
        return "Balanced"
示例#5
0
def general_checker(string):
    stack = Stack()
    opens = '([{<'
    closes = ')]}>'

    for char in string:
        if char in opens:
            stack.push(char)
        elif char in closes:
            if not stack.contains_items():
                return "Stack prematurely empty. Unbalanced."
            else:
                prior = stack.pop()
                return match_checker(char, prior)  # returns Balanced or Unbalanced
    if stack.contains_items():
        return 'Unbalanced'
    else:
        return 'Balanced'
示例#6
0
def general_checker(string):
    stack = Stack()
    opens = "([{<"
    closes = ")]}>"

    for char in string:
        if char in opens:
            stack.push(char)
        elif char in closes:
            if not stack.contains_items():
                return "Stack prematurely empty. Unbalanced."
            else:
                prior = stack.pop()
                return match_checker(char, prior)  # returns Balanced or Unbalanced
    if stack.contains_items():
        return "Unbalanced"
    else:
        return "Balanced"