数据结构(C语言)问题
voidLinListSort(SLNode*head){SLNode*curr,*pre,*p,*q;p=head->next;head->next=NULL;whil...
void LinListSort(SLNode *head)
{
SLNode *curr,*pre,*p,*q;
p=head->next;
head->next=NULL;
while(p !=NULL)
{
curr=head->next;
pre=head;
while(curr !=NULL && curr->data<=p->data)
{
pre=curr;
curr=curr->next;
}
q=p;
p=p->next;
q->next=pre->next;
pre->next=q;
}
}
此算法实现了对单链表元素的就地排序,请问用一个实例化的图像来理解这个算法?(或者如何更好理解这个算法) 展开
{
SLNode *curr,*pre,*p,*q;
p=head->next;
head->next=NULL;
while(p !=NULL)
{
curr=head->next;
pre=head;
while(curr !=NULL && curr->data<=p->data)
{
pre=curr;
curr=curr->next;
}
q=p;
p=p->next;
q->next=pre->next;
pre->next=q;
}
}
此算法实现了对单链表元素的就地排序,请问用一个实例化的图像来理解这个算法?(或者如何更好理解这个算法) 展开
2个回答
展开全部
void AppList_L(LinkList &L,char x,int g){
s=(LNode*)malloc(sizeof(LNode));
InitList_L(s);
s->next=L->next;
s.name=x; ////这里不是点 是 -> 上面的next都是->怎么到这里变成 点了。 下面一样的错误。
s.grade=g;
L->next=s;
}
另外,name是一个char的数组,x是一个char,两者能相等吗?
这样可以么?
s=(LNode*)malloc(sizeof(LNode));
InitList_L(s);
s->next=L->next;
s.name=x; ////这里不是点 是 -> 上面的next都是->怎么到这里变成 点了。 下面一样的错误。
s.grade=g;
L->next=s;
}
另外,name是一个char的数组,x是一个char,两者能相等吗?
这样可以么?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询