Python 栈操作

来源:互联网 发布:java哪个版本稳定 编辑:程序博客网 时间:2024/05/21 07:08

本文采用Python语言实现数据结构之栈操作,栈实现的是一种后进先出的策略,被删除的元素总是最近被插入的元素,程序具体包括构造栈、添加栈元素、删除栈元素。

#构造栈结构class Stack(object):    def __init__(self,S=[],top=-1):        self.S=S        self.top=top#插入元素        def Push(x):    T.top=T.top+1    T.S.append(x)    return T.S#空栈的处理,通过查询Stack_Empty函数判断栈是否是空栈    def Stack_Empty(T):    if T.top==-1:        return True    else:        return False#删除栈元素        def Pop(T):    if Stack_Empty(T):        return 'error\'underflow\''    else:        T.top = T.top - 1        return T.S.pop()T=Stack()a=[1,2,4,5,8,6]for n in a:    print(Push(n))print(Pop(T))print(Pop(T))print(Pop(T))print(Pop(T))print(Pop(T))print(Pop(T))print(Pop(T))

运行结果如下:
这里写图片描述
把a=[1,2,4,5,8,6]中的元素依次插入栈中,然后在依次删除元素,最后删除所有栈中元素后,再删除一次的话就返回一个error’underflow’,下溢操作。