数据结构学习笔记:利用Python列表实现栈结构

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/howard2005/article/details/102776125

数据结构学习笔记:利用Python列表实现栈结构

利用Python列表实现栈结构。有两种实现方式:

1、将列表的末尾(rear)作为栈顶(top)

2、将列表的前端(front)作为栈顶(top)

一、将列表的末尾(rear)作为栈顶(top)来实现栈结构

1、编写源代码:利用列表创建栈01.py

"""
利用列表创建栈01
在列表末尾作为栈顶
"""

class Stack:    
    def __init__(self):
        self.items = []
        
    def isEmpty(self):
        return self.items == []
        
    def push(self, item):
        self.items.append(item)
        
    def pop(self):
        return self.items.pop()
    
    def peek(self):
        return self.items[len(self.items)-1]
    
    def size(self):
        return len(self.items)
    
    def __str__(self):
        return str(self.items)
    
s = Stack()
print(s)
print("isEmpty:", s.isEmpty())
s.push('dog')
s.push('cat')
s.push('tiger')
print(s)
print("isEmpty:", s.isEmpty())
print("size:", s.size())
print("pop:", s.pop())
print(s)
print("size:", s.size())
s.push(100)
s.push(True)
print(s)
print("peek:", s.peek())
print(s)
print("size:", s.size())

2、查看程序运行结果

二、将列表的前端(front)作为栈顶(top)来实现栈结构

1、编写源代码:利用列表创建栈02.py

2、查看程序运行结果

三、栈结构的特点:LIFO(后进先出)

猜你喜欢

转载自blog.csdn.net/howard2005/article/details/102776125