重點思想:
- 當在線性表中插入一個元素時,插入位置的所有元素都后移一位
- 考慮因素:
- 線性表是否是滿線性表
- 線性表插入位置是否可行
1 class linearlist_insert_elem(): 2 def __init__(self, data, maxsize): 3 self.data = data 4 self.maxsize = maxsize 5 self.length = len(data) 6 def list_insert(self, i, e): 7 if self.length == self.maxsize: 8 print("線性表%s已滿,無法插入元素" % (self.data)) 9 # return -1 10 if i < 1 or i > self.length: 11 print("無法在位置%s插入元素" % i) 12 # return 0 13 else: 14 #在線性表隊尾追加一個元素0 15 self.data.append(0) 16 for i in range(self.length, i, -1): 17 self.data[i] = self.data[i - 1] 18 self.data[i] = e 19 self.length += 1 20 print("在位置%s插入元素%s成功"%(i,e)) 21 return self.data 22 if __name__ == '__main__': 23 ob = linearlist_insert_elem([1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14], 20) 24 print(ob.data) 25 print(ob.length) 26 ob.list_insert(20, 17) 27 print(ob.data) 28 ob.list_insert(6, 17) 29 print(ob.data)