数据结构:是带结构的数据元素的集合。
学习内容:结构+操作
1.线性表,是一种数据结构。
2.学习内容:定义,添加,查找,删除。
要添加,删除元素,都要确保顺序关系一致。
英文字典:元素都是按照字母顺序排列的。
class Line:
def __init__(self,max): # 构造函数 新*
print("Line")
self.max = max
self.length = 0
self.data = [None for _ in range(self.max)]
def insert(self,ele):
print(f"要把元素{ele} 添加到线性表中,从第一个为空的位置加入")
self.data[self.length] = ele
self.length += 1
def printAllData(self):
for i in range(self.length):
print(self.data[i])
line1 = Line(10)
line1.insert(3)
line1.insert(1)
line1.insert(2)
line1.printAllData()
顺序存储:
class Line:
def __init__(self,max): # 构造函数 新*
print("Line")
self.max = max
self.length = 0
self.data = [None for _ in range(self.max)]
def insert(self,ele, index):
if self.length == self.max:
print("错误:线性表满了,不能插入")
return
#print(f"要把元素{ele} 添加到线性表中的下标为{index}的位置")
if index > self.max - 1:
print("错误:超过线性表的最大容量")
return
if index < 0:
print("错误:小标不能为负数")
return
if index > self.length:
print("错误:位置不合法,不能跳着添加")
return
#把index及之后的元素全部后移一位
j = self.length
while j > index:
self.data[j] = self.data[j-1]
j-= 1
#把index位置的元素值为ele
self.data[index] = ele
#把总长度1加
self.length += 1
def printAllData(self):
for i in range(self.length):
print(self.data[i])
line1 = Line(10)
#最大下标为9
line1.insert(1,0) #把下标为0的位置,设置为1,之后的元素后移一个
line1.insert(2,0) #把下标为0的位置,设置为2,之后的元素后移一个
line1.insert(3,0) #把下标为0的位置,设置为3,之后的元素后移一个
line1.insert(4,2) #把下标为2的位置,设置为4,之后的元素后移一个
line1.printAllData()