| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 834 人关注过本帖
标题:急!求助排序问题!
只看楼主 加入收藏
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
 问题点数:0 回复次数:10 
急!求助排序问题!
链表中怎么排序
我的怎么没效果,帮看下写程序写晕了
Head是全局变量
int TaxisEngneer(void)
{
    struct engineer *Cur=NULL;
    struct engineer *p=NULL;
    struct engineer *New=NULL;
    struct engineer *pt=NULL;
    int input=1;

    printf("请选择1.编号升序,2.姓名升序,3.工龄升序(默认为编号升序):");
    fflush(stdin);
    scanf("%d",&input);
    if(input==1)
    {
        for( Cur=Head; Cur!=NULL; Cur=Cur->Next )
        {
            New=Cur;
            pt=Cur;
            for( p=Cur->Next; p!=NULL; p=p->Next )//选择排序
            {
                if(Cur->number > p->number)
                {
                    pt=p;
                }
            }
            if(pt!=Cur)
            {
                p=New;
                Cur=pt;
            }
        }
        
        printf("已完成排序,按任意键退出!");
        getch();

        return 0;
    }
    else if(input==2)
    {
        for( Cur=Head; Cur!=NULL; Cur=Cur->Next )
        {
            New=Cur;
            pt=Cur;
            for( p=Cur->Next; p!=NULL; p=p->Next )
            {
                if( strcmp(Cur->name,p->name) >0 )
                {
                    pt=p;
                }
            }
            if( pt!=Cur )
            {
                p=New;
                Cur=pt;
            }
        }

        printf("已完成排序,按任意键退出!");
        getch();
        
        return 0;
    }

    for( Cur=Head; Cur!=NULL; Cur=Cur->Next )
    {
        New=Cur;
        pt=Cur;
        for( p=Cur->Next; p!=NULL; p=p->Next )
        {
            if( Cur->workyear > p->workyear )
            {
                pt=p;
            }
        }
        if( pt!=Cur )
        {
            p=New;
            Cur=pt;
        }
    }
    printf("已完成排序,按任意键退出!");
    getch();

    return 0;
}
搜索更多相关主题的帖子: void 
2008-05-11 01:27
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
得分:0 
re

高手们快来帮忙啊!

我秀我自己
2008-05-11 01:36
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
得分:0 

没人看吗?!!!

我秀我自己
2008-05-11 09:23
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
得分:0 
快来啊!

我秀我自己
2008-05-11 12:54
wltysy
Rank: 1
等 级:新手上路
帖 子:560
专家分:0
注 册:2008-5-2
收藏
得分:0 
我看不懂啊!
2008-05-11 13:23
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
链表么……顺序存取模型啊……
一下子就想到的是插入法,是顺序存取的……快排堆排都是随机存取,不适合……
有个办法,是做一个指针数组,每个元素指向一个链表。然后对这个指针数组进行排序(快排啊堆排啊……)最后根据排序后的指针数组重构整个链表……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-11 14:23
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
得分:0 
谢谢,
指针是能实现
可是要拆分,再组合
好麻烦啊!

我秀我自己
2008-05-11 16:42
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
没办法,因为排序算法都是针对RAM模型的,而链表是SAM…………

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-11 16:46
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
得分:0 
谢谢了!

我秀我自己
2008-05-11 16:49
qinxinhai
Rank: 1
来 自:湖南长沙
等 级:新手上路
帖 子:237
专家分:0
注 册:2008-4-27
收藏
得分:0 
还想听听
其他人的意见

我秀我自己
2008-05-12 00:15
快速回复:急!求助排序问题!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012298 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved