手机黄山网站,怎样做1个网站,做网站带源码软件,公司报备网站顺序线性表--L已经存在#xff0c;且1 index ListLength(L)
一、获得元素操作--GetElem
含义#xff1a;将线性表L中的第 index 个位置元素值返回
思路#xff1a;只要 index 的数值在数组下标值范围内#xff0c;把数组第 index-1下标的值返回即可
二、插入…顺序线性表--L已经存在且1 index ListLength(L)
一、获得元素操作--GetElem
含义将线性表L中的第 index 个位置元素值返回
思路只要 index 的数值在数组下标值范围内把数组第 index-1下标的值返回即可
二、插入操作--ListInsert
含义在线性表L中的第 index 个位置插入新元素 e
思路 三、删除操作--ListDelete
含义将线性表L中的第 index 个位置的元素 e删除
思路 四、python代码实现
class SequenceList:def __init__(self, max_size):# 顺序表的最大容量self.max_size max_size# 初始化一个长度为 max_size 的列表self.data [None] * max_size# 当前顺序表的长度self.length 0# 判断线性表是否为空def is_empty(self):return self.length 0# 判断线性表是否已满def is_full(self):return self.length self.max_size# 取出线性表中 第 index 个位置的元素def GetElem(self,index):if index0 | indexself.length:return Index out of range!else:return self.data[index-1]# 将元素 x 插入到线性表中的第 index 个位置def ListInsert(self,index,x):if self.is_full():return Sequence list is fullif index 0 or index self.length:return Invalid index# 将 index 之后的元素后移一位# 每次循环减少 1即从后往前逐步遍历for i in range(self.length,index,-1):self.data[i]self.data[i-1]#利用切片亦可将 index 之后的元素后移一位#self.data[index 1:self.length 1] self.data[index:self.length]# 将新元素插入到指定位置self.data[index]x# 线性表长度1self.length 1return Insert Successfully!# 将线性表中第 index 个位置的元素删除def ListDelete(self, index):if index 0 or index self.length:return Invalid index# 将 index 之后的元素向前移一位for i in range(index,self.length-1):self.data[i] self.data[i1]# 将最后一个元素置为Noneself.data[self.length-1]None# 线性表长度-1self.length -1return Delete Successfully!# 在已有线性表上进行操作
seq_list_1 [1,3,5,7,2,8,9,10]
seq_list SequenceList(len(seq_list_1))for elem in seq_list_1:seq_list.ListInsert(seq_list.length, elem)
print(顺序表的元素, seq_list.data)print(获取索引为 1 的元素, seq_list.GetElem(1))seq_list.ListDelete(1) # 删除索引为 1 的元素
print(删除后的顺序表, seq_list.data)seq_list.ListInsert(0, 15)
print(插入元素后的顺序表, seq_list.data)