一、概念
线性结构是一种有序数据项的集合,其中每个数据项都有唯一的前驱和后继(比如列表,可以使用顺序索引)。不同的线性结构关键区别在于数据项增减的方式。有的结构允许插入数据、前后端添加;有的则只允许从端添加。
基本的线性结构:
堆Stack、队列Queue、双端队列Deque、列表List。是四种最简单但是功能强大的数据结构。
二、代码实现
1、栈的实现
可以把栈结构想象为一个杯子,数据就像是石头依次放入杯子中,那么栈的规则就是先进后出(因为在底部),最后放进去的数据存在于“杯子”的最上端,因此称为栈顶,而杯子底部的数据则是最后才能取出来。一个栈实现的功能应该有基本以下几项:
操作 | 函数 |
---|---|
创建栈对象 | s = Stack() |
判断栈是否为空 | s.isEmpty() |
数据入栈 | s.push(data) |
数据出栈 | s.pop() |
查看栈顶数据,不弹出 | s.peek() |
查看栈的规模 | s.size() |
基本实现代码:
创建一个栈对象并使其实例化
class Stack():
def __init__(self):
self.items = []
def isEmpty(self):
if len(self.items)==0:
return True
else:
return False