"""
线性表之顺序存储结构
python 使用list模拟顺序表
基本操作:
初始化 __init__
线性表空判断 empty
清空线性表 clear
获取元素 get
是否存在数据 exist
插入操作 insert
删除操作 delete
线性表的长度 length
扩展操作
遍历顺序表 show
顺序表从头开始添加 add
顺序表添加到最后 append
顺序表删除最后元素 pop
"""
class List(object):
def __init__(self, max_size):
"""
顺序表的初始化
_length:当前顺序表的长度
_l: 顺序表的存储
"""
self._length = 0
self._max_size = max_size
self._l = [None] * max_size
def get(self, index):
"""
获取顺序表中的元素
时间复杂度为O(1)
:param index:要获取的元素下表
:return:
"""
if index < 0 or index >= self._length:
return -1
return self._l[index]
def exist(self, data):
"""
顺序表判断是否存在
时间复杂度为O(n)
:param data:
:return:
"""
for i in range(self._length):
if self._l[i] == data:
return True
return False