数据结构-栈
Posted devlost
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构-栈相关的知识,希望对你有一定的参考价值。
栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,
特点:
只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。
没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序
栈的实现 可以用顺序表 也可以用链表
顺序表的 尾部删除 和添加 的时间复杂度 O(1)
顺序表 保序的添加 和 删除 是 O(n)
以下用顺序表实现 栈
- Stack() 创建一个新的空栈
- push(item) 添加一个新的元素item到栈顶
- pop() 弹出栈顶元素
- peek() 返回栈顶元素
- is_empty() 判断栈是否为空
- size() 返回栈的元素个数
class Stack(object): ‘‘‘栈‘‘‘ def __init__(self): self.items = [] def is_empty(self): return not 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) if __name__ == "__main__": stack = Stack() stack.push("hello") stack.push("world") stack.push("itcast") print (stack.size()) print (stack.peek()) print (stack.pop()) print (stack.pop()) print (stack.pop())
以上是关于数据结构-栈的主要内容,如果未能解决你的问题,请参考以下文章