2020-02-21

第三章 基本数据结构

学习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为检测括号‘(’和‘)’是否配对的算法
忙于实验室工作,咕咕咕

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 练习材料:L19-2:A very dear cat 时长:1‘02 Mrs. Ramsay was instru...
    Zi青_6709阅读 728评论 0 0
  • 天亮了,一宿4K大屏,像素色块轰炸的眼睛止不住的流泪。 起来了,身体腾挪翻转,胯骨腰椎肩颈弹响停不下的卡顿。 出门...
    简书劬阅读 994评论 0 0
  • 每天醒来 双眸总有最新鲜的露珠 倒映窗外的精彩 心田总有最鲜的嫩韭一茬 可待采摘 可就在你睁大双眸 就在你磨刀霍霍...
    云横千里阅读 1,755评论 6 20
  • 我想有个如你一般的人 如山间清爽的风 如古城温暖的光 从清晨到夜晚 由山野到书房 只要最后是你 就好
    言叶夏阅读 2,472评论 0 2