在顺序表中插入或删除一个元素,需要移动多少个元素?

如题所述

需要平均移动约表长一半的元素,具体移动的元素个数与该元素在线性表中的位置有关。

添加到第1个,移动N个元素;

添加到第2个,移动(N-1)个元素;

……

添加到第N个,移动1个元素;

添加到第(N+1)个,移动0个元素

平均:(0+1+2+……+N)/(N+1)=N/2

删除第1个,移动(N-1)个;


删除第2个,移动(N-2)个;

……


删除第N个,移动0个


平均:[0+1+……+(N-1)]/N=(N-1)/2

扩展资料:

插入或删除一个元素,需要移动的是插入或删除元素后面的元素。

由于顺序表的存储特点是:只要确定了起始位置,表中任一元素的地址都通过下列公式得到:LOC(ai)=LOC(a1)+(i-1)*L  1≤i≤n 其中,L是元素占用存储单元的长度。

所以确定了插入或删除元素的位置后,便可算出需要移动的元素个数。

参考资料:百度百科-顺序表

温馨提示:答案为网友推荐,仅供参考
相似回答