已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:
(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;
}
阅读下列算法,并回答问题:
(1)设顺序表L=(3,7,11,14,20,51),写出执行f30(&L,15)之后的L;
(2)设顺序表L=(4,7,10,14,20,51),写出执行f30(&L,10)之后的L;
(3)简述算法的功能。
void f30(SeqList*L,DataType x)
{
int i=0,j;
while(i<L->length&&x>L->data[i])i++
if(i<L—>length&& x==L—>data[i]{
for(j=i+1;j<L—>length;j++)
L—>data[j-1]=L—>data[j];
L—>length--;
}else{
for(j=L—>length;j>i;j--)
L—>data[j]=L—>data[j-1];
L—>data[i]=x;
L—>length++;
}
}
已知一个图如图8-42(b)所示,依据Dijkstra算法求从顶点l到其余各顶点的最短路径的顺序应是()。
A、2,5,4,6,3
B、2 , 5,3,4,6
C、2,3,5,4,6
D、5,4,6,3,2