单链表能打散重新排序,并按顺序连接吗?
单链表能打散重新排序,并按顺序连接节点吗?结构体变量中有一个为整型,按这个数值大小重新连接节点。
[此贴子已经被作者于2015-12-22 13:56编辑过]
程序代码:typedef struct DATA
{
long num;
struct DATA *next;
}DATA;
程序代码:struct DATA *insert(struct DATA *head, struct DATA *d)
{
struct DATA *p,*p1,*p2;
p1=head;
p=d;
if(head==NULL)
{
head=p;
p->next=NULL;
}
else
{
while((p1->next!=NULL)&&(p->num>p1->num))
{
p2=p1;p1=p1->next;
}
if(p->num<=p1->num)
{
if(p1==head)
{
p2=p1=head;
head=p;
head->next=p1;
}
else
{
p2->next=p;
p->next=p1;
}
}
else
{
p1->next=p;
p->next=NULL;
}
}
return head;
}[此贴子已经被作者于2015-12-22 14:55编辑过]