`

约瑟夫环算法

阅读更多

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实现约瑟夫环算法的代码示例.zip 用Java和Python实现...

    用c语言编写约瑟夫环算法

    约瑟夫环算法,也称为约瑟夫问题(Josephus Problem),是一个著名的理论问题,源自古罗马的一个历史故事。在该问题中,人们站成一个圈,并按照顺时针或逆时针顺序从1开始报数。每次数到特定值的人会被排除出圈,...

    约瑟夫环 算法设计 计算机

    算法设计中,约瑟夫环的问题,可以练习一下你的逻辑思维能力,以及你的分析能力。

    数据结构的约瑟夫环算法源码

    在数据结构与算法领域,约瑟夫环算法常被用来探讨链表操作和循环数组的实现。 在这个场景中,我们有一份使用C++语言实现的约瑟夫环算法源码。C++是一种强大的、面向对象的编程语言,适合处理复杂的算法问题。C++的...

    约瑟夫环问题算法

    在编程领域,约瑟夫环问题通常被用来考察程序员的逻辑思维和算法实现能力。 在C#中实现约瑟夫环问题,我们可以采用几种不同的方法,如链表、数组或者循环数组等数据结构。这里我们主要讨论基于循环数组的解决方案。...

    数据结构中线性表的应用,约瑟夫环算法 便于数据结构的学习.zip

    在本压缩包中,我们主要探讨的是线性表的应用以及一个有趣的算法——约瑟夫环算法。 线性表是由n(n≥0)个相同类型元素构成的有限序列,可以顺序存储或链式存储。顺序存储的线性表通常用数组实现,操作简单,但...

    约瑟夫环算法 数据结构实习题

    约瑟夫环 算法 数据结构 实习题 在devc++测试通过

    约瑟夫环 算法

    约瑟夫环算法,又称约瑟夫问题,是一个经典的理论问题,源于历史故事。问题的核心是:n个人围成一个圈,从某个人开始报数,数到m的人出局,然后下一轮从下一个人继续报数,直到只剩一个人为止。目标是找到在游戏结束...

    Joseph约瑟夫环算法

    非常简单的约瑟夫环算法:用C++语言编译,采用键表功能实现约瑟夫环问题的实现。

    约瑟夫环算法以及报告

    【约瑟夫环算法及其应用】 约瑟夫环算法,又称约瑟夫问题,是一个著名的理论问题,源自古罗马犹太历史学家约瑟夫斯所记载的故事。在该问题中,n个人围成一个圈,从第一个人开始按顺时针方向报数,数到m的人出列,...

    数据结构中线性表的应用,约瑟夫环算法。便于数据结构的学习.zip

    约瑟夫环算法源于一个古老的传说:古代犹太人约瑟夫被俘后,为了避免全体被杀,提出一个方法:所有俘虏站成一个圈,从某人开始报数,数到特定数值的人出圈,然后下一个人继续数,直到剩下最后一个人为止。...

    约瑟夫环算法C++实现

    约瑟夫环的算法的实现,可以直接运行,经过测试了的,详细情况可以自己下载后查看。

    文本输入输出约瑟夫环算法

    这是文本输入输出的字符约瑟夫算法,可以编译通过,使用前建立input.txt文本,然后然后执行算法,最后在生成的OUTPUT.txt文档

    约瑟夫环的算法实现

    约瑟夫环问题,也称为约瑟夫环序列或约瑟夫问题,是一个著名的理论问题,源自古罗马历史的一个故事。在数学和计算机科学中,它通常被...同时,通过分析和实现约瑟夫环算法,我们可以提高解决问题和编写高效代码的能力。

    Java通过索引值实现约瑟夫环算法

    Java通过索引值实现约瑟夫环算法 Java通过索引值实现约瑟夫环算法是一种高效的算法,用于解决约瑟夫环问题。该算法的核心思想是使用索引值来实现约瑟夫环的模拟,避免了链表结构的使用,从而提高了程序的执行效率。...

Global site tag (gtag.js) - Google Analytics