第三章 基本数据结构
学习4种线性数据结构,
栈,队列,双端队列和列表
栈
原则:last-in first-out
常用操作
stack() 创建空栈 返回空栈
push(item) 将一个元素添加到栈顶 无返回值
pop() 将栈顶元素移除,返回栈顶元素
peek()返回栈顶元素
isEmpty() 检查是否为空栈 返回布尔值
size() 返回栈中元素数目 返回整数
代码实现栈
class Stack(object):
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def isEmpty(self):
return print(self.items == [])
def size(self):
return len(self.items)
def KH_check(string):
stack = Stack()
string = list(string)
balance = True
index = 0
while index < len(string) and balance:
if string[index] is '(':
stack.push(string[index])
elif string[index] is ')':
if stack.isEmpty() is True:
balance = False
else:
stack.pop()
index = index + 1
if balance and stack.isEmpty():
return True
else:
return False
KH_check为检测括号‘(’和‘)’是否配对的算法
忙于实验室工作,咕咕咕