bllt.net
当前位置:首页 >> 约瑟夫环 C语言链表 >>

约瑟夫环 C语言链表

C语言的约瑟夫环问题,利用单循环链表,代码如下: #include //利用单循环链表!!!!!#include#includetypedef int ElemType;typedef struct SingleNode{ ElemType data; struct SingleNode *next;}SLL,*LinkList;int main(){ SLL *head ,*us...

类似差不多的 #include "stdio.h" #include "stdlib.h" #define S sizeof(struct node) struct node { int num; struct node *next; }; typedef struct node NODE; NODE *createlinklist(int n) { NODE *head,*p,*q; int i=1; head=p=(struct no...

问题还不少,指针变量p,q在主函数中都没有值,如何运算,注意各个函数中定义的变量都是局部变量,只能在本函数中可见(使用),AddToL()函数中的p和Delete()中的q在main()中不可见,就是不能共用。main()函数中的语句: scanf("%d",&(p->code));...

数学原理:http://zh.wikipedia.org/wiki/%E7%BA%A6%E7%91%9F%E5%A4%AB%E6%96%AF%E9%97%AE%E9%A2%98 有递归和迭代两个程序,选一个即可。 #include int Josephus2(int n, int k) {if (n == 1) return 0;return (Josephus2(n - 1, k) + k ) % n;}...

//用数组实现约瑟夫环 #include #define maxN 100 int main(){ int Joself_k(int,int,int); int n,k,m; printf("输入总人数n,开始报数号k,出列号码m:\n"); scanf("%d%d%d",&n,&k,&m); Joself_k(n,k,m); return 0; } int Joself_k(int n,int k,i...

解决问题的核心步骤:(程序的基本算法) ⒈建立一个具有n个链结点,无头结点的循环链表; ⒉确定第1个报数人的位置; ⒊不断地从链表中删除链结点,直到链表为空。 void JOSEPHUS(int n,int k,int m) //n为总人数,k为第一个开始报数的人,m为出列...

/* 不知道要哪种,约瑟夫环用数组的话可以直接用数学得到答案, http://blog.163.com/seeker_forever/blog/static/16323893820107535243739/ 下面是总共n个人,每次数到m的人出列,出列顺序保存在L中 */ void find(int n.int m,int* L) { int n...

前面创建的双向循环链表没有问题 clock变量是什么意思,uclock是什么意思,等等 感觉你的代码思路有点乱,漏洞很多,能不能注释一下你的代码,编写代码习惯不太好 约瑟夫环的游戏的具体要求是什么

这个就完全可以.. #include #include typedef struct LNode{ int code; int num; LNode *next; }LNode,*Linklist; void Create(Linklist &L,int &m,int &n) { //根据人数创建链表 int t;LNode *p,*q; printf("Please input the largest number m...

#includeint main() {int num[50],n,m,i,j;int len,start = 0,counter = 1;printf("总数 报数\n");scanf("%d%d",&n,&m);if(n < 0 || n > 50 ) n = 50;if(m < 1 || m > n) m = n/2;printf("人数:%d,报数:%d\n",n,m);for(i = 0; i < n; ++i) num[...

网站首页 | 网站地图
All rights reserved Powered by www.bllt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com