python 栈的简单实现

简介: 栈(stacks)是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表, 它按照先进后出的原则存储数据(Last In First Out - LIFO)。代码(使用list):class Stack(object): # 初始化 def __init__(self): self.

栈(stacks)是一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表, 它按照先进后出的原则存储数据(Last In First Out - LIFO)。

  • 代码(使用list):

    class Stack(object):
        # 初始化
        def __init__(self):
            self.items = []
        # 判断是否为空
        def is_empty(self):
            return self.items == []
        # 返回栈顶元素
        def peek(self):
            if self.is_empty():
                raise KeyError("stack is None")
            return self.items[len(self.items) - 1]
        #返回栈的大小
        def size(self):
            return len(self.items)
        # 入栈,把新的元素放进栈里
        def push(self, item):
            self.items.append(item)
        # 出栈,把栈顶元素丢出去
        def pop(self):
            if self.is_empty():
                raise KeyError("stack is None")
            return self.items.pop()
    
    if __name__ == '__main__' :
        a_stack = Stack()
        # 插入元素
        a_stack.push('一')
        a_stack.push('二')
        a_stack.push('三')
        
        print(a_stack.size())    # 3
        print(a_stack.peek())    # 三
        print(a_stack.pop())     # 三
        print(a_stack.peek())    # 二
        print(a_stack.size())    # 2
        print(a_stack.is_empty())  # False
        a_stack.__init__()
        print(a_stack.is_empty())  # True
    

    本文链接:时光不写博客

相关文章
|
1月前
|
Python
Python实现数据结构(如:链表、栈、队列等)。
Python实现数据结构(如:链表、栈、队列等)。
33 0
|
1月前
|
前端开发 Python
Python中如何用栈实现队列
Python中如何用栈实现队列
22 0
|
1月前
|
存储 Python
Python中栈的概念和使用
Python中栈的概念和使用
27 0
|
3月前
|
C++ Python Java
Python每日一练(20230424) 滑动窗口最大值、栈实现队列、直线上最多的点数
Python每日一练(20230424) 滑动窗口最大值、栈实现队列、直线上最多的点数
31 0
Python每日一练(20230424) 滑动窗口最大值、栈实现队列、直线上最多的点数
|
3月前
|
Go Python 算法
Python每日一练(20230412) 队列实现栈、二叉树序列化、交换链表节点
Python每日一练(20230412) 队列实现栈、二叉树序列化、交换链表节点
32 0
Python每日一练(20230412) 队列实现栈、二叉树序列化、交换链表节点
|
5月前
|
存储 算法 Python
python算法(二)—栈、队列、链表、哈希
python算法(二)—栈、队列、链表、哈希
49 0
|
5月前
|
算法 编译器 Python
Python数据结构——栈
Python数据结构——栈
61 0
|
6月前
|
机器学习/深度学习 数据可视化 TensorFlow
python数据科学技术栈
python数据科学技术栈
35 0
|
7月前
|
Python
线性回归的简单实现python
线性回归的简单实现python
38 1
|
10月前
|
Python
Python|用“栈”的方法完成括号匹配
Python|用“栈”的方法完成括号匹配
85 0

热门文章

最新文章