//链表倒序
void ReverseLinkList(node_t *head){
node_t *p;
node_t *q;
//判断链表是否为空
if(head->next==NULL)
return;
p = head->next;
while(p){
//顺序遍历
q = p;
p = p->next;
//头部插入
q->next = head->next;
head->next = q;
}
}
//链表排序
void SortLinkList(node_t *head){
node_t *p;
node_t *q;
node_t *r;
if(head == NULL)
return;
if(head->next == NULL)
return;
p = head->next->next;
head->next->next = NULL;
while(p != NULL){
//顺序遍历,找到需要插入的结点
q = p;
p = p->next;
//找到需要插入节点的上一个结点
r = head;
while(r->next != NULL)
{
if(r->next->data > q->data)
break;
r = r->next;
}
//在结点r后插入结点q
q->next = r->next;
r->next = q;
}
}