欢迎访问宙启技术站
智能推送

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添加到栈中。然后我们弹出两个数字,最后栈为空。