首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

直接插入法排序-链表,该如何处理

2013-01-22 
直接插入法排序--链表有一个带头结点的单链表head,其ElemType类型为char。设计一个算法使其元素有序递增。vo

直接插入法排序--链表
有一个带头结点的单链表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

虽然是用数组来示范的,但思路可以借鉴下,希望对楼主有帮助。

热点排行
Bad Request.