Python函数实现栈数据结构
发布时间:2023-06-05 19:04:33
栈是一种先进后出的数据结构,它在计算机科学中被广泛使用。在Python中,我们可以通过函数实现这种数据结构。
首先,我们需要思考如何表示栈。我们可以使用列表(list)来实现栈。由于栈具有先进后出的特性,因此我们可以使用append()函数将元素添加到列表的末尾,使用pop()函数从列表的末尾删除元素。
下面是一个简单的栈实现函数:
def stack():
stack_list = []
while True:
x = input("Input a number to push onto stack or press enter to pop from stack: ")
if x == "":
if len(stack_list) == 0:
print("Stack is empty")
else:
print("Popped", stack_list.pop())
else:
stack_list.append(int(x))
print("Current stack:", stack_list)
stack()
该函数会无限循环,每次循环会提示用户输入一个数字。如果用户输入了一个数字,该数字会被添加到栈中。如果用户按下回车键,最后一个添加到栈中的数字将从栈中弹出。
我们可以使用这个函数测试我们的栈实现。下面是一个例子:
Input a number to push onto stack or press enter to pop from stack: 1 Current stack: [1] Input a number to push onto stack or press enter to pop from stack: 2 Current stack: [1, 2] Input a number to push onto stack or press enter to pop from stack: 3 Current stack: [1, 2, 3] Input a number to push onto stack or press enter to pop from stack: Popped 3 Current stack: [1, 2] Input a number to push onto stack or press enter to pop from stack: Popped 2 Current stack: [1] Input a number to push onto stack or press enter to pop from stack: Popped 1 Current stack: [] Input a number to push onto stack or press enter to pop from stack: Stack is empty Current stack: []
在该例子中,我们首先将数字1、2、3添加到栈中。然后我们弹出两个数字,最后栈为空。
