Python 栈操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/z649431508/article/details/77913164

本文采用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’,下溢操作。

猜你喜欢

转载自blog.csdn.net/z649431508/article/details/77913164