带头结点的单链表
void insert_sort_llist( link_list * lst )
{
node_ptr h = *lst, p = h->next, r = NULL, q = NULL;
h->next = NULL;
while( p != NULL )
{
q = p->next;
r = h;
while( r->next != NULL && r->next->data < p->data )
r = r->next;
p->next = r->next;
r->next = p;
p = q;
traverse_llist( h );
}
}