成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > php使用環(huán)形鏈表解決約瑟夫問題完整示例

php使用環(huán)形鏈表解決約瑟夫問題完整示例

熱門標簽:桂陽公司如何做地圖標注 太原400電話申請流程 電信外呼系統(tǒng)多少錢一個月 萍鄉(xiāng)商鋪地圖標注 宿州正規(guī)外呼系統(tǒng)軟件 企業(yè)400電話辦理多少費用 神龍斗士電話機器人 合肥企業(yè)外呼系統(tǒng)線路 代理打電話機器人

本文實例講述了php使用環(huán)形鏈表解決約瑟夫問題。分享給大家供大家參考,具體如下:

約瑟夫問題:

Josephu問題為:設編號為1,2,...n的n個人圍坐一圈,約定編號為k(1=k=n)的人從1開始報數(shù),數(shù)到m的那個人出列,它的下一位又從1開始報數(shù),數(shù)到m的那個人又出列,依次類推,直到所有人出列為止,由此產生一個出隊編號的序列。并求出最后出列的人是哪個?

PHP實現(xiàn)環(huán)形鏈表以及約瑟夫問題的解決:

/**
 * 鏈表結構
 */
class Child{
  public $no;
  public $next=null;
  public function __construct($no=null){
    $this->no = $no;
  }
}
/**
 * 鏈表操作
 */
class CycleLink{
  private $nodeNum = 0;
  /**
   * 添加節(jié)點
   */
  public function addNode($head,$node)
  {
    $currentNode = $head;
    while ($currentNode->next!=null  $currentNode->next!=$head) {
      $currentNode = $currentNode->next;
    }
    $currentNode->next = $node;
    $currentNode->next->next = $head;
    $this->nodeNum++;
  }
  /**
   * 刪除節(jié)點
   */
  public function delNode($head,$no)
  {
    $currentNode = $head;
    while ($currentNode->next!=$head) {
      if($currentNode->next->no==$no){
        $currentNode->next = $currentNode->next->next;
        $this->nodeNum--;
        break;
      }
      $currentNode = $currentNode->next;
    }
  }
  /**
   * 獲取節(jié)點數(shù)量
   */
  public function getNodeNum(){
    return $this->nodeNum;
  }
  /**
   * 查找節(jié)點
   */
  public function findNode($head,$no){
    $node = null;
    $currentNode = $head;
    while ($currentNode->next!=$head) {
      if($currentNode->next->no==$no){
        $node = $currentNode->next;
        break;
      }
      $currentNode = $currentNode->next;
    }
    return $node;
  }
  public function getNextNode($head,$node){
    if($node->next==$head){
      return $node->next->next;
    }
    return $node->next;
  }
  /**
   * 顯示節(jié)點
   */
  public function showNode($head)
  {
    echo "br/>br/>";
    $currentNode = $head;
    while ($currentNode->next!=$head){
      $currentNode = $currentNode->next;
      echo '第 '.$currentNode->no.' 名小孩br/>';
    }
  }
}
/*
//創(chuàng)建一個head頭,該head 只是一個頭,不放入數(shù)據(jù)
$head     = new Child();
$childList   = new CycleLink();
$child_1   = new Child(1);
$child_2   = new Child(2);
$child_3   = new Child(3);
$child_4   = new Child(4);
$childList->addNode($head,$child_1);
$childList->addNode($head,$child_2);
$childList->addNode($head,$child_3);
$childList->addNode($head,$child_4);
$childList->showNode($head);
echo "pre>";
var_dump($head);
$findNode = $childList->findNode($head,3);
echo "pre>";
var_dump($findNode);
$childList->delNode($head,2);
$childList->showNode($head);
echo $childList->getNodeNum();
exit();
*/
/**
 * 約瑟夫問題
 * 設編號為1,2,...n的n個人圍坐一圈,約定編號為k(1=k=n)的人從1開始報數(shù),數(shù)到m的那個人出列,
 * 它的下一位又從1開始報數(shù),數(shù)到m的那個人又出列,依次類推,直到所有人出列為止,由此產生一個出隊編號的序列。
 * 并求出最后出列的人是哪個?
 */
class Josephu{
  private $head;
  private $childList;
  private $k;
  private $m;
  private $n;
  public function __construct($n,$k,$m){
    $this->k = $k;
    $this->m = $m;
    $this->n = $n;
    $this->createList($n);  // 創(chuàng)建小孩
    echo "br/>br/>當前有 {$n} 個小孩,從第 {$k} 個小孩開始報數(shù),數(shù)到 {$m} 退出br/>br/>";
  }
  // 數(shù)數(shù)
  public function exec(){
    $currentNode = $this->childList->findNode($this->head,$this->k);  // 獲取第一個開始報數(shù)的人
    $_num = 0;  // 當前數(shù)到的值
    $surplus_num = $this->n;
    // 開始報數(shù)
    while ($surplus_num>1) {  // 只要人數(shù)大于1,就繼續(xù)報數(shù)
      // 當前報數(shù)值
      $_num++;
      $nextNode = $this->childList->getNextNode($this->head,$currentNode);
      // 數(shù)至第m個數(shù),然后將其移除。報數(shù)恢復到0,重新循環(huán)。
      if( $_num==$this->m ){
        $_num = 0;
        $surplus_num--;
        // 當前小孩退出
        $this->childList->delNode($this->head,$currentNode->no);
        echo 'br/>退出小孩編號:' . $currentNode->no;
      }
      // 移動到下一個小孩
      $currentNode = $nextNode;
    }
    echo 'br/>最后一個小孩編號:' . $currentNode->no;
  }
  // 創(chuàng)建小孩
  private function createList($n){
    $this->childList = new CycleLink();
    $this->head = new Child();
    for ($i=1;$i=$n;$i++){
      $node = new Child($i);
      $this->childList->addNode($this->head,$node);
    }
    $this->childList->showNode($this->head);
  }
}
$josephu = new Josephu(4, 1, 2);
$josephu->exec();

運行結果:

第 1 名小孩
第 2 名小孩
第 3 名小孩
第 4 名小孩


當前有 4 個小孩,從第 1 個小孩開始報數(shù),數(shù)到 2 退出

更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》及《PHP數(shù)學運算技巧總結》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP+Redis鏈表解決高并發(fā)下商品超賣問題(實現(xiàn)原理及步驟)
  • python環(huán)形單鏈表的約瑟夫問題詳解
  • C語言基于循環(huán)鏈表解決約瑟夫環(huán)問題的方法示例
  • java基于雙向環(huán)形鏈表解決丟手帕問題的方法示例
  • php基于環(huán)形鏈表解決約瑟夫環(huán)問題示例
  • Java編程刪除鏈表中重復的節(jié)點問題解決思路及源碼分享
  • C語言解字符串逆序和單向鏈表逆序問題的代碼示例
  • Java采用循環(huán)鏈表結構求解約瑟夫問題
  • Leetcode常見鏈表問題及代碼示例

標簽:衡陽 白銀 崇左 鄂州 綏化 辛集 太原 廊坊

巨人網(wǎng)絡通訊聲明:本文標題《php使用環(huán)形鏈表解決約瑟夫問題完整示例》,本文關鍵詞  php,使用,環(huán)形,鏈表,解決,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php使用環(huán)形鏈表解決約瑟夫問題完整示例》相關的同類信息!
  • 本頁收集關于php使用環(huán)形鏈表解決約瑟夫問題完整示例的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品一区二区三区毛片淫片| 偷偷看偷偷操| 97人人爽人人喊人人模波多| 国产精品一区而去| 日韩av片子| 欧美v日韩v国产v| 日韩久久久久久久久久| 欧美一级色片| 欧美精品videosex牲欧美| 欧美日韩少妇| 久久这里只有精品视频网| 理论电影国产精品| 日韩av在线免费播放| 久久涩涩网站| 久久久久亚洲综合| 国产91精品最新在线播放| 一二区成人影院电影网| 国内精品免费午夜毛片| 91中文字精品一区二区| 精品一级视频| 国产wwww| 精品中文字幕在线播放| 亚洲一区二区电影| 日韩一区和二区| 97超碰免费在线观看| 欧美巨乳在线| 国产精品视频麻豆| 亚洲精品乱码久久久久久蜜桃图片| 亚洲精品视频啊美女在线直播| 久久久另类综合| 欧美高清videosex极品| 色8久久久久| 久久精品免费一区二区| 国产精品亚洲欧美| 国产精品成人aaaa在线| 欧美羞羞免费网站| 高清av一区二区| 精品九九久久| 美女福利视频在线观看| 国产亚洲精品久久久久久| 国产很黄免费观看久久| 午夜精彩视频在线观看不卡| 亚洲+变态+欧美+另类+精品| 精品视频一区二区三区| 三级黄色片免费观看| 天天影视色香欲综合网老头| 欧美 日韩 国产 成人 在线 91| 韩日欧美一区二区三区| 曰韩少妇与小伙激情| av资源免费看| 久久久久国产精品一区二区| 日韩国产欧美| 欧美黑人巨大| 黄色影院在线看| 国产在线拍偷自揄拍精品| 亚洲精品1区2区3区| 亚洲青色在线| 国产suv精品一区二区883| 午夜不卡在线视频| 狠狠精品干练久久久无码中文字幕| 久久久久久99| 免费在线国产| 最近的中文字幕在线看视频| 国产在线传媒| 一区二区三区国产在线| 福利小视频在线观看| jizz视频播放器| 亚洲va久久久噜噜噜无码久久| 亚洲国产毛片完整版| 91丨九色porny丨蝌蚪| 国产伦精品一区二区三区高清版禁| 黄网址在线播放免费| 无码精品一区二区三区在线播放| 无尽裸体动漫2d在线观看| 97免费高清电视剧观看| 特大巨黑人吊性xxxxn38| 先锋影音久久| 欧美精品成人网| 国产在线拍偷自揄拍精品| 中文字幕在线直播| 一本色道久久88| www.国产福利| av网站观看| 国产剧情一区二区三区| 91视频婷婷| 国产福利图片| 久久久精品视频在线| 亚洲国产高清aⅴ视频| 国产成人三级在线观看视频| 国内精品伊人久久久久av一坑| 欧美午夜视频网站| 日韩三级成人| x99av成人免费| av网站中文字幕| 亚洲人成亚洲人成在线观看| 国产精品久免费的黄网站| 色狮一区二区三区四区视频| 91n.com在线观看| 久久999免费视频| 亚洲一区二区久久久久久久| 欧美96在线丨欧| 亚洲色成人一区二区三区小说| 妺妺窝人体色www在线观看| 免费不卡在线观看| 久久精品国产亚洲5555| 中文字幕剧情在线观看| 日韩欧美在线不卡| 亚洲免费婷婷| 国产精品第3页| 久草视频在线观| 在线观看免费一区二区| 国产91在线视频| 国产一线天粉嫩馒头极品av| 成年人视频网址| 99在线精品一区二区三区| 欧美va亚洲va国产综合| h七七www色午夜日本| 深夜福利在线看| 国产亚洲欧美视频| 日韩欧美国产二区| 亚洲妇女无套内射精| 免费看国产黄色片| 欧美三级免费看| 国产黄色片视频| 我要看一级黄色录像| 一级片免费在线| 91免费视频网站| 国产成人精品免费视频大全软件| 天天做天天爱天天爽综合网| 97精品国产97久久久久久春色| 男人的天堂影院| 欧美亚一区二区三区| 在线麻豆国产传媒1国产免费| 亚洲色图一区二区| 国产精品日韩久久久| 国产精品久久久久久久裸模| 日韩三级一区二区| 日本精品一二三区| 成人四虎影院| 精品无码一区二区三区电影桃花| 美女日批在线观看| 日本久久综合| 手机看片1024日韩| 欧美成年人网站| 亚洲免费网站| 69xxx免费| 国产精品女人网站| 国产婷婷色一区二区三区| 亚洲视频久久久| 好男人官网在线观看| 色久视频在线播放| 亚洲高清视频免费观看| 日韩电影中文字幕一区| www操操操| 精品久久久久久电影| 午夜精品123| 日本爱爱免费视频| 五月天婷亚洲天综合网精品偷| 欧美最猛性xxxxx(亚洲精品)| 日韩欧美亚洲一区| 岛国片免费观看| 国产精品露出视频| 天天躁日日躁狠狠躁喷水| 国产人成在线视频| 国模私拍视频在线| 免费亚洲视频| 国产精品黄色av| 二区三区精品| 国产精品免费一区二区三区| 久久国产直播| 国产精品一级片| 卡一卡二国产精品| 久久精品视频va| 欧美二三四区| 国产又粗又猛视频免费| 黄色av免费在线| 欧美一区不卡| 国产精品扒开腿爽爽爽视频| 久久一二三国产| 亚洲国产精品精华液ab| 蜜臀一区二区三区精品免费视频| 美女高潮久久久| 国产亚洲成aⅴ人片在线观看| av成人网在线| 美女av一区二区| 人妻 丝袜美腿 中文字幕| 性欧美精品孕妇| 日韩偷拍自拍| 只有这里有精品| 婷婷亚洲婷婷综合色香五月| 免费国偷自产拍精品视频| 国产成人精品无码高潮| 3d动漫啪啪精品一区二区免费| 久久免费精品国产久精品久久久久| 久久亚洲精品小早川怜子| 黄色片免费在线| 日韩一区二区三区在线视频| 日本黄视频网站| 精品国产a毛片| 成人免费毛片在线观看| 911精品国产一区二区在线| 奇米777欧美一区二区| 亚欧色一区w666天堂| 亚洲综合自拍| 伦伦影院午夜日韩欧美限制| 亚洲第一黄网| 亚洲性av网站| 国产区日韩欧美| 亚洲欧洲色图综合| 欧美日韩一区二区在线| 成年网站在线免费观看| 性欧美video另类hd尤物| 色香蕉在线观看| 国产日韩欧美精品一区二区三区| 免费黄色网网址| 中文字幕无码精品亚洲资源网久久| av资源站一区| 亚洲xxxx天美| 欧美伦理在线视频| 国产精品无av码在线观看| 国产精品久久国产精品| 午夜精品在线看| 黄色动漫网站| 国产伦精品一区二区三毛| 亚洲人成电影院色| 99麻豆久久久国产精品免费| 欧美视频裸体精品| 亚洲人成毛片在线播放女女| 久久精品国产福利| 久久久久久夜| 国产精品亚洲综合天堂夜夜| 精品成人乱色一区二区| 国产福利一区在线| 久热re这里精品视频在线6| 中文在线免费二区三区| 中文字幕人成高清视频| 青青草原免费观看| 午夜欧美一区二区三区在线播放| 五月天精品一区二区三区| 国产三级理论片| 欧美视频在线免费看| 韩国日本在线视频| 欧美亚洲综合另类| 国产日韩第一页| 国内精品视频| 国产夫妻自拍av| 激情偷乱视频一区二区三区| 自拍亚洲图区| 久久另类ts人妖一区二区| 韩国成人二区| 精品无码av在线| 尤蜜粉嫩av国产一区二区三区| 国产精品理人伦一区二区三区| 中国色在线观看另类| 亚洲女人天堂av| 欧美一级精品片在线看| 香蕉国产成人午夜av影院| 精品亚洲乱码一区二区| 免费人成a大片在线观看动漫| 欧美日韩精品一区| 一区二区三区在线免费看| 午夜性福利视频| 成人毛片在线免费观看| 国产va免费精品高清在线| 九九热视频免费在线观看| 亚洲最新在线| 亚洲r级在线视频| 日本精品一区二区三区在线播放| 免费久久99精品国产自| 欧美91福利在线观看| 欧美韩日一区二区三区四区| 一区二区三区四区免费观看| 精品国产一区二区三区小蝌蚪| 欧美日韩国产免费观看| 国产又黄又粗又长| 国产一二在线播放| 成人黄色片视频| 日韩精品免费一区二区三区| 久久免费激情视频| 婷婷五月综合缴情在线视频| 在线视频你懂得一区| 清纯唯美亚洲综合一区| 亚洲一级不卡视频| 国产精品丝袜一区二区三区| 精品无码在线观看| 范冰冰一级做a爰片久久毛片| 人人澡人人透人人爽| 91九色在线免费视频| 成人黄色av片| 国产精品极品尤物在线观看| 日韩视频在线永久播放| 国产91久久久久蜜臀青青天草二| 国产三级欧美三级日产三级99| xxxxaaa欧美另类| 日韩欧美视频在线| 国产精品久久久| 亚洲毛片av在线| 未满十八勿进黄网站一区不卡| 好吊视频一区二区三区| 免费男女羞羞的视频网站中文字幕| 97超碰在线资源站| 国产美女诱惑一区二区| eeuss影院www在线观看免费| 国产suv精品一区二区883| 麻豆视频免费网站| 欧美亚洲tv| 91国内精品在线视频| ririsao中文字幕免费| 3d动漫成人在线| 欧美日本视频在线| 97精品国产| 在线观看不卡视频| 日韩成人视屏| 久久一区二区三区电影| 国语对白一区二区| 成人精品视频一区二区| 日韩一区二区三区在线观看视频| 免费一级片视频| 日韩精品综合一本久道在线视频| av在线不卡顿| 中文字幕欧美日韩va免费视频| 欧美女同在线观看| 调教视频免费在线观看| 99国内精品久久久久久久| 日本女优在线视频一区二区| 欧洲日本在线| 无码日本精品xxxxxxxxx| 中文字幕成人乱码在线电影|