直接插入法排序--链表
有一个带头结点的单链表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;
}
}
}对这个算法有点看不懂 求教
[解决办法]
插入法对单练表排序 问题。建议lz,在本子上划一划
关于在链表中实现插入法排序
[解决办法]
直接插入法排序可以参考下《白话经典算法系列之二 直接插入排序的三种实现》
http://blog.csdn.net/morewindows/article/details/6665714
虽然是用数组来示范的,但思路可以借鉴下,希望对楼主有帮助。