已知N个数已存入数组A[1..M]的前N个元素中(N<M),为在A[i]()之前插入一个新数,应先(61),以挪出一

20 查阅

已知N个数已存入数组A[1..M]的前N个元素中(N<M),为在A[i]()之前插入一个新数,应先(61),以挪出一个空闲位置插入该数。

A.从A[i]开始直到A[N],每个数向前移动一个位置

B.从A[i]开始直到A[1],每个数向后移动一个位置

C.从A[N]开始直到A[i],每个数向后移动一个位置

D.从A[1]开始直到A[i],每个数向后移动一个位置

参考答案:

C解析:本题考查用顺序方式存储线性表元素的插入运算特点。数组A[1..M]元素的布局如图5-8所示。对于选项A,从A[i]开始直到A[N]的每个数向前移动一个位置,使A[i-1]的值被改为A[i]的值,A[i]的值被改为A[i+1]的值,依此类推,A[N-1]的值为A[N]的值,相当于挪出来的空闲位置为A[N],显然不符合新元素插入在A[i]之前的要求。对于选项B,从A[i]开始直到A[1]的每个数向后移动一个位置,会将A[i+1]原来的值覆盖,挪出的空闲位置为A[1],显然不符合新元素插入在A[i]之前

软考中级