设顺序表共有n个元素,用数组elem存储,实现在第i个元素之前插入一个元素e的操作,其主要语句为()。

题目
单选题
设顺序表共有n个元素,用数组elem存储,实现在第i个元素之前插入一个元素e的操作,其主要语句为()。
A

FOR j=n DOWNTO i DO elem[j]=elem[j+1]; elem[i]=e;

B

FOR j=i TO n DO elem[j]=elem[j+1]; elem[i]=e;

C

FOR j=i TO n DO elem[j+1]=elem[j]; elem[i]=e;

D

FOR j=n DOWNTO i DO elem[j+1]=elem[j]; elem[i]=e;

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为( )。

A、n-i+1

B、n-i-1

C、i

D、n-i


标准答案:A

第2题:

设有一个长度为n的顺序表,要在第i个元素之前(也就是插入元素作为新表的第i个元素),插入一个元素,则移动元素个数为()。

A.n-i+1

B.n-i-1

C.n-i

D.i


参考答案:A

第3题:

● 对具有n个元素的顺序表(采用顺序存储的线性表)进行 (40) 操作,其耗时与n的大小无关。

(40)A.在第i(1≤i≤n)个元素之后插入一个新元素

B.删除第i(1≤i≤n)个元素

C.对顺序表中的元素进行排序

D.访问第i(1≤i≤n)个元素的前驱和后继


试题(40)分析

本题考查数据结构基础知识。
线性表的逻辑关系特点是元素依序排列。当采用顺序存储方式时(一维数组存储),可以随机访问其中的任何一个元素。在表中插入元素和删除元素都要移动其他元素,所需移动的元素个数大约为n/2,而排序所需时间更是与表中元素个数n相关。

参考答案(40)D

第4题:

在长度为n的顺序存储线性表中,向第i个元素(1≤i≤n)之前插入一个新元素时,需要从后向前依次后移______个元素。

A.n-i

B.n-i+1

C.n-i-1

D.i


正确答案:B

第5题:

在一个有n个元素的顺序表的第i个元素(1≤i≤n)之前插入一个新元素时,需要向后移动【 】元素。


正确答案:n-i+1
n-i+1 解析:在一般情况下,要在第i个元素之前插入一个新元素时,首先是从最后一个元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置。

第6题:

在一个长度为n的顺序存储结构的线性表中,向第i(1£i£n+1)个元素之前插入新元素时,需向后移动回答()个数据元素。


参考答案:n-i+1

第7题:

在一个长度为n的顺序表中第i个元素(1≤i≤n)之前插入一个元素时,需向后移动【 】个元素。


正确答案:n-i+1
n-i+1 解析:线性表的插入操作是指性表的第i-1个元素和第i个元素之间插入一个新的数据元素,使原长度为n的线性表的数据长度变为n+1。而且这样使数据元素ai-1和数据元素ai的逻辑关系也发生了变化。性表的顺序存储结构中,由于逻辑上相邻的数据元素的物理位置也相邻,因此,除非i=n+1,否则必须移动元素才能反映这种逻辑关系的变化。一般情况下,在第(n-1)个元素之前插入一个元素时,需将第n至i个元素向后移动一个位置。这些元素共有n-i+1个。即,共移动n-i+1个元素。

第8题:

已知一个长度为n的顺序表A,在表A的第i个元素(1≤i≤n)之前插入一个新元素,需向后移动()个元素。


参考答案:n-i+1

第9题:

对具有n个元素的顺序表(采用顺序存储的线性表)进行( ) 操作,其耗时与n的大小无关。

A.在第i(1≤i≤n)个元素之后插入一个新元素

B.删除第i(1≤i≤n)个元素

C.对顺序表中的元素进行排序

D.访问第i(1≤i≤n)个元素的前驱和后继


正确答案:D
解析:线性表是随机读取的,所以参看某个元素与n无关。【总结与扩展】顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。将表中元素一个接一个地存入一组连续的存储单元中,这种存储结构是顺序结构。采用顺序存储结构的线性表简称为“顺序表”。顺序表的存储特点是:只要确定了起始位置,表中任一元素的地址都通过下列公式得到:L0c(ai)=LOC(ai)+(i-1)*L(1≤i≤n),其中,L是元素占用存储单元的长度。

第10题:

含有n个元素的线性表采用顺序存储方式时,对其运算速度最快的操作是( )。

A.访问第i个元素(1≤i≤n)
B.删除第i个元素(1≤i≤n)
C.在第i个元素(1≤i≤n)之后插入一个新元素
D.查找与特定值相匹配的元素

答案:A
解析:
本题考查数据结构基础知识。
线性表(a1,a2,…,an)采用顺序存储方式如下图所示,其逻辑上相邻的元素物理位置也是相邻的,因此,按照序号访问元素的速度是很快的。

访问第i个元素(1≤i≤n)的元素,仅需计算出ai的存储位置再进行内存的随机访问操作即可,以LOC(a1)表示线性表中第一个元素的存储位置,L表示每个元素所占存储单元的个数,则计算LOC(ai)的方式如下:
LOC(ai)=LOC(a1)+(i-1)×L
再分析其他运算,不在表尾插入或删除时就需要移动其他元素,这是比较耗时的。查找与特定值相匹配的元素时,需要经过一个与表中多个元素进行比较的过程,相对于随机访问第i个元素,消耗更多时间。

更多相关问题