`
haoningabc
  • 浏览: 1483034 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

算法:c语言实现第三章 约瑟夫函数

阅读更多

root@ubuntu:~/algorithm# cat nodetest.c 
#include <stdlib.h>
#include <stdio.h>
typedef struct node* link;
struct node { int item; link next;};

int main(int argc,char *argv[]){
    int i,N=atoi(argv[1]),M=atoi(argv[2]);
    link t=malloc(sizeof *t),x=t;
    t->item=1;
    t->next=t;
    for(i=2;i<=N;i++){
        x=(x->next=malloc(sizeof *t));
        x->item=i;x->next=t;
    }
    while(x!=x->next){
        for(i=1;i<M;i++){
            x=x->next;
        }
        x->next=x->next->next;N--;
    }
    printf("%d\n",x->item);
    
}
分享到:
评论

相关推荐

    经典算法全部用C语言实现

    《经典算法全部用C语言实现》是一篇涵盖了多种基础及进阶算法的资源,通过C语言来呈现,便于理解和实践。这些算法涉及数据结构、计算方法以及数学问题等多个领域,对于学习计算机科学和提高编程技能非常有帮助。下面...

    约瑟夫问题C语言 .

    约瑟夫问题(Josephus Problem)是一个著名的理论问题,源于古罗马时代的一个传说。问题的基本描述是:在圆形排列的N个人...通过理解和实现约瑟夫问题,可以加深对这些概念的理解,为更复杂的算法和数据结构打下基础。

    实现约瑟夫环的C语言算法

    约瑟夫环问题,也称为约瑟夫环序列或约瑟夫问题,是一个著名的理论问题,源自古罗马的传说。该问题的基本设定是:...学习这个程序不仅有助于理解约瑟夫环问题的解决方案,还能提升对C语言链表操作和算法优化的理解。

    经典算法(C语言)包含51个经典算法的C语言实现

    在IT领域,算法是解决问题的关键,而C语言作为底层编程的基石,被广泛用于实现各种高效算法。以下是一些从给定的标题和描述中提取的C语言实现的经典算法: 1. **汉诺塔(Hanoi Tower)**:这是一个递归算法问题,目标...

    [C/算法]C语言实现数据结构各种算法

    本文将深入探讨标题和描述中提到的C语言实现的数据结构和算法,包括二叉树、表达式计算、链式表、顺序表、数组的存储、顺序栈、图的基本操作及最短路径算法,以及约瑟夫环问题。 首先,**二叉树**是一种重要的非...

    约瑟夫环 c语言实现

    约瑟夫环(Josephus Problem)是一个...通过这个C语言实现,初学者可以了解到如何将理论问题转化为实际代码,同时锻炼了基本的数据结构操作和算法设计能力。对于进一步学习高级算法和数据结构,这将是一个很好的起点。

    约瑟夫数据结构C语言简易实现

    在IT领域,尤其是在数据结构与算法的学习和应用中,“约瑟夫数据结构C语言简易实现”这一主题涉及到了几个核心的知识点,包括约瑟夫问题、循环链表以及C语言编程基础。以下是对这些知识点的详细阐述: ### 约瑟夫...

    C语言实现的约瑟夫环问题

    《C语言实现的约瑟夫环问题》 约瑟夫环问题,又称“约瑟夫环 Josephus ...通过解决约瑟夫环问题,我们可以深入理解链表的动态修改、遍历以及如何用C语言实现复杂算法,这对于提升编程技能和解决问题的能力大有裨益。

    约瑟夫环单循环链表C语言实现

    `josephus_clist`函数实现了约瑟夫环的算法。该函数接受一个单向循环链表的引用`L`和一个整数`m`作为参数。`m`表示每次报数的数字,即每数到`m`的人就会被淘汰。 **算法步骤:** 1. 初始化指针`p`指向链表头节点。...

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

    在C语言中实现约瑟夫环算法,我们需要理解以下几个关键点: 1. **链表数据结构**:由于约瑟夫环涉及到动态改变的序列,链表是理想的表示方式。链表中的每个节点代表一个参与者,包含他们的编号(或位置)和指向下一...

    用C语言实现约瑟夫环问题

    总的来说,约瑟夫环问题的C语言实现是一个结合了数据结构和算法的好例子,对于学习C语言和数据结构的初学者来说,这是一个很好的实战项目。通过这个过程,不仅可以掌握链表的基本操作,还能体会到动态数据结构在解决...

    用C语言编写的约瑟夫环程序

    `Josephu`函数实现了约瑟夫环的核心算法。它使用两个嵌套循环,外层循环用于遍历链表,内层循环模拟报数过程。当某个节点报数到m时,出列,更新m值为该节点的密码,并将该节点从链表中移除。这个过程一直持续到链表...

    用c语言写的较简单约瑟夫环

    8. **效率优化**:对于大规模的约瑟夫环问题,可以使用更高效的数据结构和算法,例如Fibonacci堆或线段树,但这超出了基本C语言实现的范围。 9. **代码风格**:虽然题目描述提到这个实现可能比较简单,但良好的代码...

    C语言常用算法源代码

    3. **图算法**:C语言可以实现图的深度优先搜索(DFS)和广度优先搜索(BFS),这两种算法是图论中的基础操作,广泛应用于路径寻找、网络爬虫等领域。 4. **动态规划**:动态规划是一种求解最优化问题的有效方法,...

    单链表C语言实现约瑟夫游戏

    ### 单链表C语言实现约瑟夫游戏 #### 概述 约瑟夫问题(Josephus Problem)是一个著名的理论问题,在计算机科学领域内经常被提及。本篇将基于一个用C语言编写的单链表实现约瑟夫游戏程序进行详细解析。此程序通过...

    约瑟夫环源码及课程设计c语言版

    在C语言实现约瑟夫环的算法时,一般有两种常见的方法: 1. **循环链表法**:创建一个循环链表,每个节点代表一个人,链表的每个节点包含一个计数器。当计数器达到m时,删除该节点并将其前一个节点与后一个节点相连...

    用单链表解决约瑟夫问题 C语言实现

    3. **约瑟夫问题的算法实现** `DeleteDeath`函数负责执行约瑟夫问题的核心逻辑。它接受三个参数:`n`(总人数)、`k`(报数上限)以及`R`(链表头指针)。该函数的主要步骤包括: - 外层循环控制删除节点的数量,...

    约瑟夫环实验报告(C语言实现、命令行输入数据、文件输出)

    《约瑟夫环实验报告——C语言实现及命令行数据处理》 约瑟夫环问题,又称为约瑟夫环序列或约瑟夫问题,是一个经典的理论问题,它源自一个古老的犹太人的故事。问题的核心在于模拟一个由n个人围成的圆圈,他们按照...

    约瑟夫环c语言实现

    在这个问题的C语言实现中,我们通常会使用链表来模拟环形结构。链表是一种非线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。在约瑟夫环问题中,我们需要创建一个带有循环引用的链表,即...

    C语言编写的关于约瑟夫环问题的程序

    标题中的“C语言编写的关于约瑟夫环问题的程序”指的是使用C编程语言实现的一个经典算法问题——约瑟夫环(Josephus Problem)。约瑟夫环问题是一个理论上的问题,通常在计算机科学和数学中被用作示例,以讨论和解决...

Global site tag (gtag.js) - Google Analytics