在一个长度为n的顺序表中删除第i个元素时,需向前移动 多少个元素。
展开全部
需向前移动n-i个元素。这个i的范围应当是1≤i≤n+1,是向后移动。
后面的元素ai+1~an都要向上移动一个位置。
如顺序表的每个结点占用len个内存单元,用location (ki)表示顺序表中第i个结点ki所占内存空间的第1个单元的地址。则有如下的关系:location (ki+1) = location (ki) +len。
扩展资料:
插入或删除一个元素,需要移动的是插入或删除元素后面的元素。
由于顺序表的存储特点是:只要确定了起始位置,表中任一元素的地址都通过下列公式得到:LOC(ai)=LOC(a1)+(i-1)*L 1≤i≤n 其中,L是元素占用存储单元的长度。
所以确定了插入或删除元素的位置后,便可算出需要移动的元素个数。
展开全部
需向前移动n-i个元素。
假设需要移动x个元素;顺序元素总数为n;i之前的元素不需移动,不需移动的元素数量为i-1;顺序表去掉i元素,去掉的元素数量为1。
故而x=n-(i-1)-1
经计算x=n-i
假设需要移动x个元素;顺序元素总数为n;i之前的元素不需移动,不需移动的元素数量为i-1;顺序表去掉i元素,去掉的元素数量为1。
故而x=n-(i-1)-1
经计算x=n-i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假设n=5,删除第3个元素,第3个元素下标是2,那么需要移动下标为3、4的元素。也就是2个元素,5-3=2。那么答案是n-i
追问
可是我们书上的答案是n-i-1.我在想会不会是因为下边为i的元素,是第i-1个元素
追答
应该是n-i,如果是n-i-1的话,移动第n个元素的时候,n-n-1就变成-1了。
显然n个元素,删除第n个元素是不需要移动的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
删除第i个元素需要移动从第i+1到第n个,共n-i个元素;
删除下标为i的话是n-i-1个,不知道理解是否正确
删除下标为i的话是n-i-1个,不知道理解是否正确
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对,第i个元素意思是,下角标为i的元素,这样子,删除第n-1个(下角标为n-1)元素时就是n-1-(n-1),删除第i(下角标为i)个元素就是n-1-i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询