91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php基于環形鏈表解決約瑟夫環問題的示例分析

發布時間:2021-07-16 11:30:35 來源:億速云 閱讀:115 作者:小新 欄目:開發技術

這篇文章主要介紹php基于環形鏈表解決約瑟夫環問題的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

具體如下:

先來重溫一下約瑟夫環問題:N個人圍成一圈,從第一個開始報數,第M個將被殺掉,最后剩下一個,其余人都將被殺掉。例如N=6,M=5,被殺掉的順序是:5,4,6,2,3,1。

前面介紹了關聯數組解決約瑟夫環的方法,環形鏈表解決約瑟夫環的方法如下:

<?php
header("content-type:text/html;charset=utf-8");
class Child{
public $no;
public $next=null;
public function __construct($no){
$this->no=$no;
   }
}
function addChild($n,&$first){    //$n是人的個數,創建環形鏈表
  for($i=0;$i<$n;$i++){
    $child=new Child($i+1);
    if($i==0){
    $first=$child;
    $cur=$child;
    $cur->next=$cur;
    }else{
    $cur->next=$child;
    $child->next=$first;
    $cur=$cur->next;
         }
   }
}
function showHero($first){
$cur=$first;
while($cur->next!=$first){
echo "<br/>人的編號:".$cur->no;
$cur=$cur->next;
     }
     echo "<br/>人的編號:".$cur->no;
}
function countChild($first,$m,$k){
  $cur=$first;
  for($i=0;$i<$m-1;$i++){
  $cur=$cur->next;
  }
  $j=0;
  while($cur!=$cur->next){
    if($j==$k-2){
      echo "<br/>出列編號:".$cur->next->no;
      $cur->next=$cur->next->next;
      $cur=$cur->next;
      $j=0;
    }else{
      $cur=$cur->next;
      $j++;
    }
  }
  echo "<br/>最后出列編號:".$cur->no;
}
addChild(10,$first);
showHero($first);
echo "<hr/>";
countChild($first,2,3); //第二個人開始數,數到三出列
?>

運行結果:

人的編號:1
人的編號:2
人的編號:3
人的編號:4
人的編號:5
人的編號:6
人的編號:7
人的編號:8
人的編號:9
人的編號:10
--------------------------------------------------------------------------------

出列編號:4
出列編號:7
出列編號:10
出列編號:3
出列編號:8
出列編號:2
出列編號:9
出列編號:6
出列編號:1
最后出列編號:5

以上是“php基于環形鏈表解決約瑟夫環問題的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

德州市| 洞口县| 阿勒泰市| 玉林市| 北碚区| 温州市| 兴义市| 株洲市| 琼中| 井冈山市| 阳泉市| 城固县| 二连浩特市| 盐亭县| 江城| 浦江县| 彭山县| 都江堰市| 巴彦县| 兰考县| 雷州市| 永福县| 来宾市| 乳山市| 绍兴县| 黑山县| 吴忠市| 永平县| 贵阳市| 龙岩市| 辽阳市| 广南县| 清新县| 宝山区| 贵南县| 如东县| 泽库县| 敦化市| 凤冈县| 固原市| 宜川县|