void Sort(LinkList &L) { LNode *p=L->next, *pre; LNode *r = p->next; //r保证*p后继结点不断链 p->next = NULL; //只构造一个数据节点的单链表,此时L->next也指向这个 p=r; //p开始工作 while(p!=NULL){ r=p->next; pre=L; //从链表的头开始遍历寻找插入节点 while(pre->next != NULL && pre->next->data< p->data) pre = pre->next; //在有序链表中查找插入*p的前驱节点 p->next = pre->next; pre->next = p; p=r; } }