C/C++ code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
#include <stdio.h>
#include <malloc.h>
#define LEN sizeof(struct node)
struct node
{
int data;
struct node *next;
}*p,*p1,*h,*r;
main()
{
void ysfh(int n,int k,int m);
int n;
int k;
int m;
printf("请输入人数n:\n");
scanf("%d",&n);
printf("请输入编号为k的人开始报号的k的值:\n");
scanf("%d",&k);
printf("请输入数到m的那人出列的m的值:\n");
scanf("%d",&m);
ysfh(n,k,m);
}
void ysfh(int n,int k,int m)
{
//建立一个循环链表
for(int i=1;i<=n;i++)
{
p = (struct node *)malloc(LEN);
p->data = i;
if(h==NULL)
{
h = p;
}
else
{
p1->next = p;
}
p1 = p;
}
p->next = h;
p = h;
//把指针移动到编号为k的那个人上面
for(i=0;i<k;i++)
{
p1 = p;
p = p->next;
}
//p1指向了编号为k的那个人
//找到数到m的那人并且删除
printf("删除的数字:\n");
while(p1->next!=NULL) //while循环条件肯定有问题,希望高手们看看应该如何写这个条件
{
for(i=0;i<m;i++)
{
r = p1;
p1 = p1->next;
}
//r指向的是删除那个数
p1->next = r->next;
printf("%d ",r->data);
free(r);
}
printf("最后出列的人是:%d\n",p1->data);
}
分享到:
相关推荐
约瑟夫环算法就是解决这类问题的一种方法。 在提供的代码中,`Josephas` 函数实现了约瑟夫环问题的解决方案。它接收三个参数:`n` 表示总人数,`m` 是计数的间隔(即每数到 `m` 的人将出列),而 `s` 是起始计数的...
《约瑟夫环算法及其在数据结构中的应用》 约瑟夫环算法,又称为约瑟夫环问题,是计算机科学中的一个经典问题,源于古罗马的一个传说。它涉及到链表、循环数组等数据结构,以及递归或迭代的算法设计。在本篇文章中,...
【约瑟夫环算法设计】 约瑟夫环问题是一个经典的理论问题,主要涉及链表操作和循环算法的设计。在这个问题中,n个人按照顺时针方向围成一个圈,每个人都有一个唯一的编号从1到n。游戏开始时,选择一个报数上限值m,...
用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现约瑟夫环算法的代码示例.zip 用Java和Python实现...
约瑟夫环算法,也称为约瑟夫问题(Josephus Problem),是一个著名的理论问题,源自古罗马的一个历史故事。在该问题中,人们站成一个圈,并按照顺时针或逆时针顺序从1开始报数。每次数到特定值的人会被排除出圈,...
算法设计中,约瑟夫环的问题,可以练习一下你的逻辑思维能力,以及你的分析能力。
在数据结构与算法领域,约瑟夫环算法常被用来探讨链表操作和循环数组的实现。 在这个场景中,我们有一份使用C++语言实现的约瑟夫环算法源码。C++是一种强大的、面向对象的编程语言,适合处理复杂的算法问题。C++的...
在编程领域,约瑟夫环问题通常被用来考察程序员的逻辑思维和算法实现能力。 在C#中实现约瑟夫环问题,我们可以采用几种不同的方法,如链表、数组或者循环数组等数据结构。这里我们主要讨论基于循环数组的解决方案。...
在本压缩包中,我们主要探讨的是线性表的应用以及一个有趣的算法——约瑟夫环算法。 线性表是由n(n≥0)个相同类型元素构成的有限序列,可以顺序存储或链式存储。顺序存储的线性表通常用数组实现,操作简单,但...
约瑟夫环 算法 数据结构 实习题 在devc++测试通过
约瑟夫环算法,又称约瑟夫问题,是一个经典的理论问题,源于历史故事。问题的核心是:n个人围成一个圈,从某个人开始报数,数到m的人出局,然后下一轮从下一个人继续报数,直到只剩一个人为止。目标是找到在游戏结束...
非常简单的约瑟夫环算法:用C++语言编译,采用键表功能实现约瑟夫环问题的实现。
【约瑟夫环算法及其应用】 约瑟夫环算法,又称约瑟夫问题,是一个著名的理论问题,源自古罗马犹太历史学家约瑟夫斯所记载的故事。在该问题中,n个人围成一个圈,从第一个人开始按顺时针方向报数,数到m的人出列,...
约瑟夫环算法源于一个古老的传说:古代犹太人约瑟夫被俘后,为了避免全体被杀,提出一个方法:所有俘虏站成一个圈,从某人开始报数,数到特定数值的人出圈,然后下一个人继续数,直到剩下最后一个人为止。...
约瑟夫环的算法的实现,可以直接运行,经过测试了的,详细情况可以自己下载后查看。
这是文本输入输出的字符约瑟夫算法,可以编译通过,使用前建立input.txt文本,然后然后执行算法,最后在生成的OUTPUT.txt文档
约瑟夫环约瑟夫环约瑟夫环约瑟夫环约瑟夫环约瑟夫环约瑟夫环约瑟夫环约瑟夫环
约瑟夫环问题,也称为约瑟夫环序列或约瑟夫问题,是一个著名的理论问题,源自古罗马历史的一个故事。在数学和计算机科学中,它通常被...同时,通过分析和实现约瑟夫环算法,我们可以提高解决问题和编写高效代码的能力。