单链表能打散重新排序,并按顺序连接吗?
单链表能打散重新排序,并按顺序连接节点吗?结构体变量中有一个为整型,按这个数值大小重新连接节点。
[此贴子已经被作者于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编辑过]