以下是图的广度优先搜索算法,请在______处填充适当的语句。
Bfs(GraphTp g,int v)
{ QueptrTp Q;
ArcNodeTp*P;
InitQueue(&Q);
printf("%"”,v);
visited[v]=1;
______
while(!EmptyQueue(Q))
{______;
p=g.adjlist[v].firstarc;
while(p! =NULL)
{ if(! visited[p—>adjvex])
{ printf("%"”,p—>adjvex);
visited[p—>adjvex]=1);
EnQueue(&Q,p—>adjvex);
}
______;
}
}
}
下列算法用于判断带头结点的循环双链表A是否对称相等,请在算法中的一填上正确的语句。
int dlink_symmetry(dlklist s)
{ j=true;
p=s—>next;
q=s—>prior;
while(p!=q)&(______)
if(p—>data=q—>data)
{ (______);
(______);
}
else
j=false;
return(j);
}
A.因为第三行的错误不能编译
B.因为第三行的错误运行时崩溃
C.输出5
D.输出20
A.定义了一个类型为int的指针变量p,该变量具有三个指针
B.定义了一个名为*p的整型数组,该数组含有三个int类型元素
C.定义了一个指向一维数组的指针变量p,该一维数组应具有三个int类型元素
D.定义了一个指针数组p,该数组含有三个元素,各元素都是基类型为int的指针
编写程序,输出一维数组a中的元素最小值及其下标。 编程提示: 1.定义一个整型变量存放最小值下标,将其初始化为0 ,例如:int p=0;即从数组第零个元素开始判断。 2.通过循环,依次判断数组中的每一个元素a[i]是否小于a[p],如果是,则将p和a[p]的值作相应的改变。/* c6-5.c 输出一维数组中元素的最小值及其下标*/ #include "stdio.h" int main() { int i,m,p,a[10]={9,8,7,6,1,3,5,18,2,4}; /* m为最小值,p为其下标 */ m=a[0]; p=0; for(i=1;i<10;i++) if { ; p="i;}" * 请补充完整此语句 printf("%d,%d\n",a[p],p); 输出一维数组a中的最小值及其下标 return 0;>
以下为单链表的删除运算,分析算法,请在______处填上正确的语句。
void delete_lklist(1klist head,int i)
{ p=find_lklist(head,i-1);
if(______)
{ q=______;
p—>next=q—>next;
free(q);
}
else error("不存在第i个结点")
}
下列每题给出的四个选项中,只有一个选项符合题目要求。
基于以下题干:
在7个毕业生J、K、L、M、N、P和Q中,将选派4人参加毕业典礼。选派必须满足以下条件:
J和K至少选派一个,但不能都选派。
N和P至少选派一个,但不能都选派。
除非选派L,否则不能选派N。
除非选派K,否则不能选派Q。
以下哪项可以是符合条件的人选?
A.J、K、M、P。
B.J、L、N、Q。
C.J、M、N、Q。
D.K、M、P、Q。
A.前:H;中:P;后:K。
B.前:H:中:L;后:N。
C.前;G;中:Q;后:P。
D.前:G;中:Q;后:N。