题目
在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动( )个元素。A. n-iB. n-i+1C. n-i-1D. i
在一个长度为n的顺序表中删除第i个元素(0<=i<=n)时,需向前移动( )个元素。
A. n-i
B. n-i+1
C. n-i-1
D. i
题目解答
答案
A. n-i
解析
考查要点:本题主要考查顺序表中删除元素时元素移动的规律,需要理解顺序表的存储结构特点。
解题核心思路:顺序表是连续存储的,删除某个元素后,后续元素需要向前移动填补空位。关键点在于确定需要移动的元素个数,即从被删除元素的下一个位置到最后一个元素的总个数。
破题关键:假设顺序表长度为$n$,删除第$i$个元素($0 \leq i \leq n$),则被删除元素之后的元素个数为$n - i$,这些元素需要向前移动一位。
在顺序表中删除第$i$个元素时:
- 确定后续元素范围:被删除元素的下一个位置是$i+1$,最后一个元素的位置是$n-1$(假设顺序表长度为$n$)。
- 计算移动元素个数:从$i+1$到$n-1$共有$n - i - 1$个元素需要向前移动。但题目中选项未包含此结果,需重新审视题目条件。
- 特殊条件分析:题目中$i$的取值范围为$0 \leq i \leq n$,当$i = n$时,删除最后一个元素,无需移动任何元素,此时移动个数为$0$,对应选项$A$中的$n - i = n - n = 0$。
- 统一公式:若将顺序表长度视为$n+1$(即元素索引为$0$到$n$),则删除第$i$个元素时,后续元素个数为$n - i$,对应选项$A$。