基于python的数据结构——栈

2020-04-04  本文已影响0人  吃鱼喵了个鱼

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

栈: 最后一个放入的元素被第一个取出的数据结构,也被称为先进后出型数据结构
出栈:将元素从栈中移除
入栈:将元素放回栈中


栈有五个方法:is_empty,push,pop,peeksize
is_empty:如果栈为空,is_empty返回True,反之则返回False
push:向栈的顶部添加一个元素
pop:从顶部移除一个元素
peek:返回顶部的元素,但不会将其移除
size:返回一个表示栈中元素数量的整型数


下面是用python实现的栈:

class Stack():
    def __init__(self):
        self.items = []
        
    def is_empty(self):
        return self.items == []
    
    def push(self,item):
        self.items.append(item)
        
    def pop(self):
        return self.items.pop()
    
    def peek(self):
        last = len(self.items) - 1
        return self.items[last]
    
    def size(self):
        return len(self.items)

新创建的栈是空的,is_empty方法将返回True:

stack = Stack()
print(stack.is_empty())

True

exp:使用栈逆转字符串

class Stack():
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def push(self,item):
        self.items.append(item)

    def pop(self):
        return self.items.pop()

    def peek(self):
        last = len(self.items) - 1
        return self.items[last]

    def size(self):
        return len(self.items)

stack = Stack()
a = 'Hello'
for i in a:
    stack.push(i)

for i in range(len(stack.items)):
    print(stack.pop(),end = '')

>> olleH

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<完>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

上一篇下一篇

猜你喜欢

热点阅读