#Python数据结构 线性表的操作
#初始化顺序表
def init(self,max):
'''
初始化
:param max:顺序表的最大容量
'''
self.max=max
self.index=0
self.data=[None for _ in range (self.max)]
#按下值查找元素
def getitem(self,index):
'''
获取下标值为index的元素
:param index :下标值
:return :下标值为index的元素
'''
if index < 0 or index >= self.index:
raise IndentationError('index非法')
else:
return self.data[index]
#修改下标值为index的位置的元素
def setitem (self,index,value):
'''
修改下标值为index的元素的值
:param index:下标值
:param value:待替换的元素
:return:
'''
if index < 0 or index >= self.index:
raise IndexError('index非法')
else:
self.data[index] = value
#判断顺序表是否为空
def empty(self):
'''
判断顺序表是否为空
:return: True or False
'''
return self.index is 0
#插入表头元素
def append(self,value):
'''
表尾插入元素
:param value:待插入的元素
:return:顺序表已满的出口
'''
if self.index is self.max:
return
else:
self.data[self.index] = value
self.index +=1
#在顺序表中任意位置插入元素
def insert(self,index,value):
'''
在顺序表中任意位置插入元素
:param index:待插入元素的位置
:param value:待插入元素的值
'''
#若index非法,则抛出异常
if index < 0 or index> self.index:
raise IndexError('idnex非法')
#若index刚好为顺序表表尾 if index== self.index:
if index == self.index:
self.append(value)
# 通过for…in…将下标值为index及其之后的元素向后移动一个位置
else:
self.data += [value]
for i in range(self.index,index,-1):
self.data[i]=self.data[i-1]
self.data[index] = value
self.index+=1
#删除表尾元素
def pop(self):
'''
删除表尾元素
:return:顺序表为空的出口
'''
if self.empty():
return
self.index-=1
#删除任意位置的元素
def delete(self,index):
'''
顺序表中删除任意位置的元素
param index:删除下标值为index的元素
'''
#下标值不合法,抛出异常
if self.empty() or index >= self.index:
raise IndexError('index非法')
#下标值合法,通过for循环将index后面的所有元素都向前移动一个位置,从而覆盖index原#本的值
for i in range(index,self.index):
self.data[i] = self.data[i+1]
self.index-=1
#获取顺序表的长度
def length(self):
'''
获取顺序表的长度
:return:当前顺序表中元素的个数
'''
return self.index
#遍历顺序表
def traversal(self):
'''
遍历顺序表
'''
for i in range(self.index):
print(self.data[i],end=" ")
print()
这个该怎么调用实现呢?