赞
踩
例如:1.在顺序表中序号i的位置上插上元素“e”。
2.删除顺序表中序号为“ i ”的元素。
这里涉及到线性表的相关知识,假设有n个元素,线性表中是
a1,a2,a3,a4,a5,a6,ai,ai+1~~~~~~an,一共有n个元素,长度为n,排序是从0开始,到n-1结束
(0,1,2,3,i,i+1~~~~~n-1),为了防止后移时有效元素被覆盖,元素的插入是从末尾开始到插入位置的元素的全部元素向后移,然后插入需要插入的元素,正如上面——在顺序表中序号i的位置上插上元素“e”,那么就是 i 到 n-1 的元素向后移一位。代码中
self.data[j]=self.data[j-1]。很多小伙伴很疑惑?元素向后移,序号增加,应该是“j+1”啊!最后一个元素n-1的序号应变为n。这里又涉及到python赋值的知识,原理很简单:例如x=1,是值1赋值给变量a,赋值是从右边赋值到左边。所以[j-1]+1=j,元素后移,序号增加,只是我们赋值会改变代码形式。
元素删除是直接将指定位置及后面的元素直接向前移,代码中
self.data[j]=self.data[j+1]符号为“+”号也是赋值的原理。
文章就是小白在自己学习遇到的问题记录下来的,知识很简单,希望对需要的小伙伴有帮助!
谢谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。