
c和c++高手帮我看一下这段代码是什么意思?谢谢啦!
LinkListListSort_L(LinkListL){LinkListh1,p,q,r,s;h1=p=(LinkList)malloc(sizeof(LinkLis...
LinkList ListSort_L(LinkList L)
{
LinkList h1,p,q,r,s;
h1=p=(LinkList)malloc(sizeof(LinkList));
p->next=L;
while(p->next)
{
q=p->next;
r=p;
while(q->next)
{
if(q->next->data < r->next->data)
r=q;
q=q->next;
}
if(r!=p)
{
s=r->next;
r->next=s->next;
s->next=p->next;
p->next=s;
}
p=p->next;
}
L=h1->next;
free(h1);
return L;
}
解释一下什么意思,如何实现的?越详细越好!!! 展开
{
LinkList h1,p,q,r,s;
h1=p=(LinkList)malloc(sizeof(LinkList));
p->next=L;
while(p->next)
{
q=p->next;
r=p;
while(q->next)
{
if(q->next->data < r->next->data)
r=q;
q=q->next;
}
if(r!=p)
{
s=r->next;
r->next=s->next;
s->next=p->next;
p->next=s;
}
p=p->next;
}
L=h1->next;
free(h1);
return L;
}
解释一下什么意思,如何实现的?越详细越好!!! 展开
3个回答
展开全部
这是一个单向链表,目的是使链表中的数据data递减排列,最后返回头结点L
H1是一个临时变量,最后free释放
p最后指向尾节点~~
H1是一个临时变量,最后free释放
p最后指向尾节点~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询