| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1354 人关注过本帖
标题:请教箱子排序问题!!!
只看楼主 加入收藏
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
以下是引用以中在2010-10-3 12:09:50的发言:

没有创新,对着书链表那章看一下就是,竟然比书上代码还差,真是一代不如一代。
别这么说 你以为自己很厉害啊

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-03 12:12
以中
Rank: 3Rank: 3
来 自:长沙
等 级:论坛游侠
帖 子:108
专家分:129
注 册:2010-4-13
收藏
得分:0 
书是我们踩在脚下,登上高楼的东东;不是用来崇拜的对像,现在又不是闭卷考试,对吗?

道之所存,师之所存。
2010-10-03 12:42
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
以下是引用以中在2010-10-3 12:42:26的发言:

书是我们踩在脚下,登上高楼的东东;不是用来崇拜的对像,现在又不是闭卷考试,对吗?
一开始学习 总会先模仿再创新
你也有新手的时候
最重要是大家共同进步吧 对不对?

[ 本帖最后由 vandychan 于 2010-10-3 12:48 编辑 ]

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-03 12:46
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
以下是引用王玉雷在2010-10-3 10:52:47的发言:

“scanf("%c%d",&L1->data,&L1->score);scanf("%c%d",&s->data,&s->score);f 3,a 4,b 0,c 5,g 3,h 2,m 3,d 4,j 3,k 1”
问题就出在你的scanf(),和你的实际输入的数的格式不对应:%c和%d之间没有空格,那你输入的两个数之间也不能有空格,比如f和3之间不能有空格。
谢谢你的提议!不过我两种方法都试过了的。还是出现同样的错误
2010-10-03 16:34
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
以下是引用以中在2010-10-3 12:09:50的发言:

没有创新,对着书链表那章看一下就是,竟然比书上代码还差,真是一代不如一代。
以后的路还长着呢!对吧?我总有一天会羽翼丰满的
2010-10-03 16:35
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:0 
以下是引用遮天云在2010-10-3 16:35:53的发言:

以后的路还长着呢!对吧?我总有一天会羽翼丰满的
顶一下大哥

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-03 19:21
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:0 
建单链表是错误的!!!怎么你没插入一个节点就喜欢使它的next域置为NULL,这样是错误的,只需要最后一个节点的next置为NULL

If You Want Something, Go Get It, Period.
2010-10-03 20:25
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:20 
程序代码:
#include<iostream>
using namespace std;
#define M 6
#define N 10
typedef struct node
{
    char data;
    int score;
    struct node *next;
}slink;
slink *create()//建立链表
{
    slink *L1,*u,*s;
    int i;
    L1=new slink;
    cin>>L1->data>>L1->score;
    u=L1;
    cout<<"请在输入"<<N-1<<"个结点数据"<<endl;
    for(i=2;i<=N;i++)
    {
        s=new slink;
        cin>>s->data>>s->score;
        u->next=s;
        u=u->next;
    }
    u->next=NULL;
    return L1;
}
void output(slink *head)//输出链表数据
{
    slink *p=head;
    if(p==NULL)
        cout<<"链表为空\n";
    else
        while(p!=NULL)
        {
      
            cout<<p->data<<"\t"<<p->score<<endl;;
             p=p->next;
        }
     cout<<endl;
}

slink *bin[M];
slink *binsort(slink *head)//对建立好的链表进行箱子排序
{
    slink *p,*q,*phead,*pointer;
    phead=head;
    int i;
    for(i=0;i<M;i++)//建立M个 空单链表作为M个空箱子
        bin[i]=new slink;
    while(phead!=NULL)//扫描已建立的单链表,将各结点放入与他分数相对应的箱子中
    {
        q=phead->next;
        phead->next=bin[phead->score]->next;
        bin[phead->score]=phead;
        phead=q;
    }
    p=bin[0];
    pointer=p;
    for(i=1;i<M;i++)
    {
        while(p->next!=NULL)
            p=p->next;
        q=bin[i];
        if(q->next!=NULL)
        {
            p->next=q->next;
            p=p->next;
        }
        delete bin[i];
      
    }
    pointer=pointer->next;
    return pointer;
}
int main()
{
    slink *L,*head;
    cout<<"创建链表:\n";
    L=create();

    cout<<"所建链表为:\n";

    output(L);
  
    cout<<"一下将进入箱子排序函数";
    head=binsort(L);
    output(head);
}
那个箱子排序恕在下能力有限真不知道你写的什么!帮你用C++改写了单链表的如下:

If You Want Something, Go Get It, Period.
2010-10-03 20:37
lwlls668
Rank: 2
等 级:论坛游民
帖 子:59
专家分:72
注 册:2010-4-9
收藏
得分:4 
怎么说呢   看代码,我更喜欢先看题目   不然我会不懂在干什么的
2010-10-03 22:32
遮天云
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:农村一小伙
等 级:贵宾
威 望:12
帖 子:1132
专家分:2671
注 册:2010-6-1
收藏
得分:0 
以下是引用m21wo在2010-10-3 20:25:15的发言:

建单链表是错误的!!!怎么你没插入一个节点就喜欢使它的next域置为NULL,这样是错误的,只需要最后一个节点的next置为NULL
不会吧!应该没错啊!我总觉的我的这个是输入语句有问题!不过我真不知道错哪!谢谢你了
2010-10-03 22:56
快速回复:请教箱子排序问题!!!
数据加载中...
 
   



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

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