阅读下列程度,回答问题。
intinclusion(LinkLustha,LitajListhb)
{//以ha和hb为头指针的单链表分别表示有序表A和B,本算法判别表A是否包含在表B内,若是,则返回1,否则返回0
LinkListpa,pb;
pa=ha一>next;pb=hb一>nex:t;
if(pa==NULL)return1;
while(pb!=NULL&&pa→data>=pb→data)
if(pa一>data==pb一>d
阅读下列程度,回答问题。
intinclusion(LinkLustha,LitajListhb)
{//以ha和hb为头指针的单链表分别表示有序表A和B,本算法判别表A是否包含在表B内,若是,则返回1,否则返回0
LinkListpa,pb;
pa=ha一>next;pb=hb一>nex:t;
if(pa==NULL)return1;
while(pb!=NULL&&pa→data>=pb→data)
if(pa一>data==pb一>data)
return(inclusion(pa,pb));else
bp=pd一>next;
return0;
}
(1)当有序表A=(1,2),B=(1,2,3)时,算法的返回值为多少?
(2)请简述该算法的功能。
【正确答案】:(1)1。 (2)对于以单链表存储的有序表A和B,判断表A是否包含在表B内,若是,则返回1,否则返回0。 解析:根据程序,可判断出其为对于以单链表存储的有序表A和B,判断表A是否包含在表B内,若是,则返回1,否则返回0。当A=(1,2),B=(1,2,3)时,A包含于B,算法的返回值为1。
Top