博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php--循环单链表的实现,解决约瑟夫丢手帕问题
阅读量:6329 次
发布时间:2019-06-22

本文共 1059 字,大约阅读时间需要 3 分钟。

hot3.png

php--循环单链表的实现,解决约瑟夫丢手帕问题
no=$no; $this->next=null; }}function addChild(&$first,$n){ $cur=null; for ($i=0;$i<$n;$i++){ $child=new Child($i+1); if($i==0){ $first=$child; $first->next=$child; $cur=$first;} else{ $cur->next=$child; $child->next=$first; $cur=$cur->next; } }}function showChild($first){$cur=$first;while($cur->next!=$first){ echo '小孩的编号为'.$cur->no.'
'; $cur=$cur->next;}echo '
小孩的编号为'.$cur->no.'
';}function countChild($first,$m,$k){ $tail=$first; //首先让$tail指向最后一个// while($tail->next!=$first){// $tail=$tail->next;// } //考虑是从第几个人开始数数 //第k个人开始数 for($i=0;$i<$k-1;$i++){ // $tail=$tail->next; $first=$first->next; } while($tail!=$first){ //当$tail==$first则说明只有最后一个人了. for($i=0;$i<$m-1;$i++){ $tail=$tail->next; $first=$first->next; } echo '
出圈额人的编号是'.$first->no; //把$first指向的节点小孩删除环形链表 $first=$first->next; $tail->next=$first; } echo '
最后留在圈圈的人的编号是'.$tail->no;}$first=null;$n=5;addChild(&$first,$n);showChild($first);countChild($first,3,2);

转载于:https://my.oschina.net/mojiadan/blog/113903

你可能感兴趣的文章
182在屏幕中实现网格化视图效果
查看>>
本文摘录 - FlumeJava
查看>>
Scala学习(三)----数组相关操作
查看>>
Matlab基于学习------------------函数微分学
查看>>
Dundas 系列
查看>>
Windows的命令行查看,修改,删除,添加环境变量
查看>>
iOS 图文混排
查看>>
64. Minimum Path Sum
查看>>
Windows Live Writer 使用指南
查看>>
分析iOS Crash文件,使用命令符号化iOS Crash文件
查看>>
R学习笔记 第五篇:字符串操作
查看>>
在Mac OS下配置PHP开发环境
查看>>
(转)介绍下Nuget在传统Asp.net项目中的使用
查看>>
C# ArcEngine 实现点击要素高亮并弹出其属性
查看>>
初识GO语言——安装Go语言
查看>>
SDK命令行操作
查看>>
基于Bootstrap的DropDownList的JQuery组件的完善版
查看>>
EXTJS学习系列提高篇:第二十四篇(转载)作者殷良胜,ext2.2打造全新功能grid系列--阅增删改篇...
查看>>
Hadoop MapReduce编程 API入门系列之分区和合并(十四)
查看>>
判断二叉树是否平衡、是否完全二叉树、是否二叉排序树
查看>>