本题要求实现一个顺序表SeqList的方法,删除顺序表SeqList第i个位置(从1开始)的元素。删除成功返回True,否则返回False。
假设线性表长度为n,则删除位置i须满足1≤i≤n
方法接口定义:
#删除顺序表第i个位置的元素,删除成功返回True,否则返回False
def erase(self,i):
其中顺序表SeqList的类定义如下:
class SqList:
#0.构造方法
def __init__(self):
self.initcapcity = 10 #初始容量
self.capcity = self.initcapcity #最大存储
self.data = [None] * self.capcity#顺序表的数据,列表
self.size = 0 #顺序表的长度
#0.顺序表的最大容量修改为n
def __resize(self,n):
assert n >= 0
#备份原来的数据
a = self.data
self.data = [None] * n
for i in range(self.size):
self.data[i] = a[i]
#1.创建顺序表,数据源是列表a
def create(self,a):
for i in range(len(a)):
if self.size == self.capcity:#顺序表满了,2倍扩容