| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:[求助]怎样用链表编写这个程序?
只看楼主 加入收藏
chuan2008
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-12
结帖率:100%
收藏
 问题点数:0 回复次数:5 
[求助]怎样用链表编写这个程序?
怎样用链表编写这个程序?
n个小孩围成一圈(编号为1~n),假设从编号为s的
小孩开始,顺时针方向数,每数到第m个小孩时,该
小孩便离开。小孩不断离开,圈子不断缩小,最后剩
下的一个小孩便是胜利者,请输出该胜利者的编号。
我从没学过链表,教材是钱能著的第二版,没有介绍链表这一部份的内容,所以就请教一下大家,学习一下,请大家指教指教!!!
搜索更多相关主题的帖子: 链表 小孩 编写 教材 
2007-11-05 15:33
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 

以前有发过啊!
去找找吧


2007-11-05 19:08
chuan2008
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-12
收藏
得分:0 

我没找着,没找着呀!啥时候发的贴????

风干的躯体,永恒的生命,不朽的灵魂!
2007-11-05 20:02
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
收藏
得分:0 

如果,我没记错的话,这就是所谓的
约瑟夫环 吧!


2007-11-05 22:27
csfeng
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-11-5
收藏
得分:0 
#include<iostream>
using namespace std;
struct node{
int n;
struct node *next;
};
node*makelist(int a)
{
node*p=new node;
if(p==NULL) return NULL;
p->n=1;
node*h=p;
node*q;
for(int i=2;i<=a;i++)
{ q=new node;
if(q==NULL) return NULL;
q->n=i;
h->next=q;
h=q;
}
h->next=p;
return p;

}
int main()
{
int num,m;
cout<<"input the num of kids:"<<endl;
cin>>num;
node*p=makelist(num);
cout<<"input the turn num:"<<endl;
cin>>m;

while(p->next!=p)
{ node*q=p;
if(m==1){while(q->next!=p)
q=q->next;
q->next=q->next->next;
p=q->next;
}
else
{
for(int i=0;i<m-2;i++)
{q=q->next;}
q->next=q->next->next;
p=q->next;
}
}
cout<<"the winner is:"<<p->n;
cin>>num;
}

[此贴子已经被作者于2007-11-6 16:43:02编辑过]

2007-11-06 16:06
chuan2008
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2007-10-12
收藏
得分:0 
谢谢!!!呵呵,多谢指教!!!

风干的躯体,永恒的生命,不朽的灵魂!
2007-11-07 15:08
快速回复:[求助]怎样用链表编写这个程序?
数据加载中...
 
   



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

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