上QQ阅读APP看书,第一时间看更新
4.1.3 实践演练——实现线性表顺序存储的插入操作
顺序表是通过一组地址连续的存储单元对线性表中的数据进行存储的,相邻的两个元素在物理位置上也是相邻的。比如,如果第1个元素存储在线性表的起始位置LOC(1),那么第i个元素便存储在LOC(1)+(i−1)*sizeof(ElemType)位置,其中sizeof(ElemType)表示每一个元素所占的空间。具体结构如图4-3所示。
图4-3 顺序表的结构
下面的实例文件cha.py演示了在线性表顺序存储结构中插入新元素的方法。
源码路径:daima\第4章\cha.py
def insert_list(L, i, element): L_lenght = len(L) if i < 1 or i > L_lenght: return False if i <= L_lenght: for k in range(i-1, L_lenght)[::-1]: L[k+1:k+2] = [L[k]] L[i-1] = element print(L) return True L = [1,2,3,4] insert_list(L, 2, 0)
执行后会在数组L中插入元素0:
[1, 0, 2, 3, 4]