直接插入法排序--链表
有一个带头结点的单链表head,其ElemType类型为char。设计一个算法使其元素有序递增。
void Sort(LinkList *&head)
{
LinkList *p = head->next, *q, *r;
if(p != NULL)
{
r = p->next; /* r保存*p结点后继结点的指针 */
p->next = NULL; /* 构造只含一个数据结点的有序表 */
p = r;
while(p != NULL)
{
r = p->next; /* r保存*p结点后继结点的指针 */
q = head;
while(q->next != NULL && q->next->data < p->data)
q = q->next;
p->next = q->next;
q->next = p;
p = r;
}
}
}对这个算法有点看不懂 求教