约瑟夫环算法
来源:互联网 发布:比特精灵mac版 编辑:程序博客网 时间:2024/06/07 04:10
文章分类:C++编程
<!--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);}
- 约瑟夫环算法
- 约瑟夫环的算法
- 约瑟夫环算法
- 约瑟夫环算法
- 约瑟夫环算法
- 趣味算法-约瑟夫环
- 约瑟夫环算法
- 【经典算法】约瑟夫环
- 【算法设计】约瑟夫环
- 算法之约瑟夫环
- 约瑟夫环算法问题
- 约瑟夫环算法
- 算法----约瑟夫环问题
- 算法 约瑟夫环问题
- 【算法设计】约瑟夫环
- 约瑟夫环:递归算法
- [算法]约瑟夫环问题
- 约瑟夫环算法研究
- Linux-epoll
- 关于关闭文件的操作函数fclose()
- 什么是模式?什么是框架?
- tar排除指定目录
- Android线程间通信的Message机制
- 约瑟夫环算法
- JavaScript:Select标签
- VS2005下如何新建一个WINCE设备的DLL工程
- pku2891(很经典,很难的 中国剩余定理)
- 大型网站性能优化的通用方法
- 10.11 信号_信号集
- SQL Server 查询分析器提供的所有键盘快捷方式(转)
- 哈希表、堆、栈、队列
- 企业应用网站性能优化实例分析