![](https://lstatic.shangxueba.com/jiandati/pc/images/pc_jdt_tittleico.png)
以下为求单链表表长的运算,分析算法,请在______处填上正确的语句。 int length_lklist(lklist he
以下为求单链表表长的运算,分析算法,请在______处填上正确的语句。
int length_lklist(lklist head) /*求表的长度。 */
{______;
j=0;
while(p—>next!=NULL)
{______;
j++;}
return(j);
} /*回传表长*/
![](https://lstatic.shangxueba.com/jiandati/pc/images/jdt_panel_vip.png)
以下为求单链表表长的运算,分析算法,请在______处填上正确的语句。
int length_lklist(lklist head) /*求表的长度。 */
{______;
j=0;
while(p—>next!=NULL)
{______;
j++;}
return(j);
} /*回传表长*/
以下为单链表的定位运算,分析算法,请在______处填上正确的语句。
int locate_iklist(1klist head,datatype x)
/*求表head中第一个值等于x的结点的序号。不存在这种结点时结果为0*/
{ p=head;j=O;
while(______){p=p—>next;j++;}
if(p—>data==x)return(j);
else{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个结点")
}
以下为单链表按序号查找的运算,分析算法,请在______处填上正确的语句。
pointer find_lklist(1klist head,int i)
{ p=head;j=0;
while(______)
{ p=p—>next;j++;}
if(i==j)return(p);
else return(NULL);
}
以下为单链表的插入运算,分析算法,请在______处填上正确的语句。
void insert_lklist(lklist head,datatype x,int i)
/*在表head的第i个位置上插入一个以x为值的新结点*/
{ p=find_lklist(head,i-1);
if(p==NULL)error("不存在第i个位置");
else{s=______;s—>data=x;
s—>next=______;
p—>next=s;
}
}
以下为单链表的建表算法,分析算法,请在______处填上正确的语句。
lklist create_1klistl()
/*通过调用intiate_lklist和insetr_lklist算法实现的建表算法。假定$是结束标志*/
{ ininiate_lklist(head);
i=1;
scanf("%",&x);
while(x!=$)
{______;
______;
scanf("%f",&x);
}
return(head);
}
该建表算法的时间复杂性约等于______,其量级为______。
以下为单链表的建表算法,分析算法,请在______处填上正确的语句。
lklist create_iklist2() /*直接实现的建表算法。*/
{ head=malloc(size);
p=head;
scanf("%",&x);
while(X!='$')
{ q=malloc(size);
q—>data=x;
p—>next=q;
______;
scanf("%",&x);
}
______;
return(head);
}
此算法的量级为______。
【EX-3-10】设有一个不带表头结点的单链表,下面算法的功能是: (1) 求以head为头指针的单链表的结点个数。 (2) 正向显示以head为头指针的单链表的所有结点值。 请在空白处填入正确的语句。 (1) int count(LinkList head) { if (________①_________) return 0; else return _________②________; } (2) void traverse(LinkList head) { if (head != NULL) { _________③_____________; _________④_____________; } }
【第3-10题】设有一个不带表头结点的单链表,下面算法的功能是: (1) 求以head为头指针的单链表的结点个数。 (2) 正向显示以head为头指针的单链表的所有结点值。 请在空白处填入正确的语句。(1) int count(LinkList head) { if (________①_________) return 0; else return _________②________; } (2) void traverse(LinkList head) { if (head != NULL) { _________③_____________; _________④_____________; } }
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!