搜索
查看: 890|回复: 10
打印 上一主题 下一主题

请大神们看看这段约瑟夫问题的链表写法有什么问题啊

[复制链接]
跳转到指定楼层
楼主
发表于 2014-8-6 11:21:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10啊哈币
有n个人围成一圈,编号从1到N,从一号开始报数,报到k的人出队,下一个人重新从1开始循环报数,问最后剩下的人原来的编号。
        int n,k,flag;
        scanf("%d%d",&n,&k);
       
        struct josephe
        {                           
                int data;
                struct josephe *next;
        };
       
        struct josephe *head,*p,*before;
        head=NULL;
       
        int i;
        for(i=1;i<=n;i++)
        {
                p=(struct josephe*)malloc(sizeof(struct josephe));
                p->data=i;
                if(head==NULL)
                {
                        head=p;
                }
                else       
                        before->next=p;
                before=p;       
        }
        before->next=head;
        p=head;


        flag=1;
        do
        {        flag++;
               
               
                if(flag%k==0)
                {
                        p->next=p->next->next;
               
                }
                p=p->next;
        }
        while(p->next!=p);
               
        printf("%d",p->data);
       
               
       
       

沙发
发表于 2014-8-7 09:52:50 | 只看该作者
自杀序列问题
板凳
 楼主| 发表于 2014-8-12 20:08:06 | 只看该作者

能帮忙看看吗
地板
发表于 2014-8-13 10:25:16 | 只看该作者

可以百度算法。
这个C语言链表章节我还没有看呢。抱歉帮不了你。
5#
 楼主| 发表于 2014-8-13 22:29:58 | 只看该作者
嗨,强哥! 发表于 2014-8-13 10:25
可以百度算法。
这个C语言链表章节我还没有看呢。抱歉帮不了你。

哦,我只想知道哪里错了啊
6#
 楼主| 发表于 2014-8-13 22:30:04 | 只看该作者
嗨,强哥! 发表于 2014-8-13 10:25
可以百度算法。
这个C语言链表章节我还没有看呢。抱歉帮不了你。

哦,我只想知道哪里错了啊
7#
发表于 2014-8-23 00:47:06 | 只看该作者
单向链表的话,你怎么把当前元素去掉,然后把当前元素的前一个元素链上当前元素的下一个元素?上一个元素的指针你都得不到
8#
 楼主| 发表于 2014-8-24 21:19:48 | 只看该作者
Mr_One 发表于 2014-8-23 00:47
单向链表的话,你怎么把当前元素去掉,然后把当前元素的前一个元素链上当前元素的下一个元素?上一个元素的 ...

所以我的P就停留在判断的前一个啊,方便把正在判断的那个去掉
9#
 楼主| 发表于 2014-8-24 21:19:55 | 只看该作者
Mr_One 发表于 2014-8-23 00:47
单向链表的话,你怎么把当前元素去掉,然后把当前元素的前一个元素链上当前元素的下一个元素?上一个元素的 ...

所以我的P就停留在判断的前一个啊,方便把正在判断的那个去掉
10#
 楼主| 发表于 2014-8-24 21:20:48 | 只看该作者
Mr_One 发表于 2014-8-23 00:47
单向链表的话,你怎么把当前元素去掉,然后把当前元素的前一个元素链上当前元素的下一个元素?上一个元素的 ...

所以我的P就停留在判断的前一个啊,方便把正在判断的那个去掉
11#
发表于 2014-9-4 10:32:33 | 只看该作者
lz请描述你的算法,Joseph Circle的实现方法非常多,你不说别人只能猜
另外你遇到了哪方面的问题也请说清楚,是编译通不过,还是运行时报错,还是结果和预期不符?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表