首先用一张图来表示栈:

栈只有一个开口,在这个开口完成入栈和出栈。并且入栈是按照顺序堆叠,先入栈的被“叠”在最下面,后入栈的在上面。想要最下面的出来,必须它的上面没有东西。即先进后出,后进先出。
下面通过Python实现栈
# 用Python实现栈
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)
另一种栈实现:
# 栈的另一种实现
class Stack:
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
self.items.insert(0, item)
def pop(self):
return self.items.pop(0)
def peek(self):
return self.items[0]
def size(self):
return len(self.items)

本文介绍了如何使用Python创建栈数据结构。栈具有后进先出(LIFO)的特性,文中通过两种方式实现:一种使用`append()`进行入栈和`pop()`出栈,另一种使用`insert(0)`和`pop(0)`操作。这两种实现方式都包括了isEmpty、push、pop、peek和size等基本栈操作。
1624

被折叠的 条评论
为什么被折叠?



