亲们!看一下这2、3两道题,帮帮忙,不要百度来的,谢谢!很急!马上就要了
3个回答
推荐于2016-06-25
展开全部
2.循环链表长度:
int getSize(list *head)
{
list *p=head; //p指向链表头
int ret=1; //个数,链表头指向的node也算一个,所以初始化为1
while ((p=p->next)!=head) //p指向它的下一个node,如果不是头的话执行循环
ret++;//循环内个数+1
return ret;
}
3.逆转线形单链表
void reverseList(list *head)
{
list *p=head,*prev=NULL,*next;
if (p->next==NULL) return;//单个node直接返回
while (p!=NULL) //结束条件是p指向NULL,也就是
{
next=p->next; //next指向p->next,当p指向原链表最后一个node的时候next是NULL
p->next=prev; //p指向上一个node的指针prev,第一次执行的时候prev是NULL
prev=p; //prev指向p
p=next; //p指向next
}
}
int getSize(list *head)
{
list *p=head; //p指向链表头
int ret=1; //个数,链表头指向的node也算一个,所以初始化为1
while ((p=p->next)!=head) //p指向它的下一个node,如果不是头的话执行循环
ret++;//循环内个数+1
return ret;
}
3.逆转线形单链表
void reverseList(list *head)
{
list *p=head,*prev=NULL,*next;
if (p->next==NULL) return;//单个node直接返回
while (p!=NULL) //结束条件是p指向NULL,也就是
{
next=p->next; //next指向p->next,当p指向原链表最后一个node的时候next是NULL
p->next=prev; //p指向上一个node的指针prev,第一次执行的时候prev是NULL
prev=p; //prev指向p
p=next; //p指向next
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很容易 1+1=2。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不会。
追问
哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询