| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1029 人关注过本帖
标题:循环单链表实现约瑟夫环的问题
只看楼主 加入收藏
everyman
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-19
收藏
 问题点数:0 回复次数:1 
循环单链表实现约瑟夫环的问题

有N个人 坐成一圈从第一个开始数数到M  数到的死亡 再从下一个人开始数直到剩下一半
joseph.h
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*linkList;
main.c
#include<stdio.h>
#include"joseph.h"
main()
{////////////////////
int n,m,k;
printf("输入人总人数");
scanf("%d",&n);
printf("输入死亡的数");
scanf("%d",&m);
int Creatlist_L(L,n);
int m=n;
linkList *p=L;*j;
linkList *q,*h;
q=L->next;
while(true)
{
for(int i(1);i<m-1;i++)
{
q=q->next;
p=q;
if(i==m-2)
{
print("死亡%d",q->data);
print("\n");
j=q;
p=q->next;
q=p->next;
free(j);
m--;
}
if(k<=n/2)break;
}

/////////////////

}
void Creatlist_L(linklist (&L),int n)
{
linklist *p,*r;int j;
L=(linklist)malloc(sizeof(LNode));
r=L;r->data=1
for(i=0;i>n-1;++i){
p=(linklist)malloc(sizeof(LNode));
j=2;
p->data=j; ++j;
r->next=p;r=p;
}
r->next=L;
}
谁能告诉我 错哪了

搜索更多相关主题的帖子: 约瑟夫 单链 
2007-07-13 18:11
everyman
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2007-5-19
收藏
得分:0 
回复:(everyman)循环单链表实现约瑟夫环的问题

#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
int data;
struct LNode *next;
}LNode,*linklist;
void Creatlist_L(linklist *head,int n)
{
int i;
linklist p,r=NULL,q;
*head=(linklist)malloc(sizeof(LNode));
p=(*head);
(*head)->data=1;
for(i=2;i<=n;++i)
{
q=(linklist)malloc(sizeof(LNode));
q->data=i;
printf("%d",q->data);
p->next=r;p=r;

}
r->next=(*head);
}
void Remove(linklist t)
{
linklist r;
r=t->next;
t->next=r->next;
printf("%d",r->data);
free(r);
}
void main()
{
int m,n;
int i,j;
linklist r;
int k=1;
printf("输入人总人数");
scanf("%d",&n);
printf("输入死亡的数");
scanf("%d",&m);
printf("编号为");
j=n;
for(i=1;i<=n;i++)

printf("%d",i);
printf("\n");

Creatlist_L(&r,n);

while(r->next!=r)
{
k=k+1;
if(k==m)
{
Remove(r);
k=1;
j--;
if( j<=(n/2)) break;
}
r=r->next;

}

}
改了一下哪的循环出问题了么?

2007-07-14 15:32
快速回复:循环单链表实现约瑟夫环的问题
数据加载中...
 
   



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

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