对顺序存储的线性表,设其长度为n,且在任何位置上插入或删除操作都是等概率的。则插入一个元素时平均要移动表中的_____个元素。
A.n/2
B.(n+1)/2
C.(n-1)/2
D.n
A.n/2
B.(n+1)/2
C.(n-1)/2
D.n
第3题
线性表可用顺序表或链表存储。试问:
(1) 两种存储表示各有哪此主要优缺点?
(2) 如果有n个表同时并存,并且在处理过程中各表的长度会动态发生变化,表的总数也可能自动改变,在此情况下,应选用哪种存储表示?为什么?
(3) 若表的总数基本稳定,且很少进行插人和删除,但要求以最快的速度存取表中的元素,这时,应采用哪种存储表示?为什么?
第4题
A.i〉0
B.i≤n
C.1≤i≤n
D.1≤i≤n+1
第7题
对线性表采用折半查找法,该线性表必须 ______。
A.采用顺序存储结构
B.采用链式存储结构
C.采用顺序存储结构,且元素按值有序
D.采用链式存储结构,且元素按值有序
第8题
已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:
(1)设线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态;
(2)简述算法f30的功能。
void f30(SeqList*L){
int i,j;
for(i=j=0;i<L—>length;i++)
if(L—>data[i]>=0){
if(i!=j)L—>data[j]=L—>data[i];
j++;
}
L—>length=j;
}
第10题
假设线性表采用顺序存储结构,其类型定义如下:
define ListSize 100
typedef struct{
int data[ListSize];
int length;
}SeqList,*Table;
编写算法,将顺序表L中所有值为奇数的元素调整到表的前端。