欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

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

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

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

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

約瑟夫問題:

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

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

/**
 * 鏈表結(jié)構(gòu)
 */
class Child{
  public $no;
  public $next=null;
  public function __construct($no=null){
    $this->no = $no;
  }
}
/**
 * 鏈表操作
 */
class CycleLink{
  private $nodeNum = 0;
  /**
   * 添加節(jié)點(diǎn)
   */
  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é)點(diǎn)
   */
  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é)點(diǎn)數(shù)量
   */
  public function getNodeNum(){
    return $this->nodeNum;
  }
  /**
   * 查找節(jié)點(diǎn)
   */
  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é)點(diǎn)
   */
  public function showNode($head)
  {
    echo "br/>br/>";
    $currentNode = $head;
    while ($currentNode->next!=$head){
      $currentNode = $currentNode->next;
      echo '第 '.$currentNode->no.' 名小孩br/>';
    }
  }
}
/*
//創(chuàng)建一個(gè)head頭,該head 只是一個(gè)頭,不放入數(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();
*/
/**
 * 約瑟夫問題
 * 設(shè)編號(hào)為1,2,...n的n個(gè)人圍坐一圈,約定編號(hào)為k(1=k=n)的人從1開始報(bào)數(shù),數(shù)到m的那個(gè)人出列,
 * 它的下一位又從1開始報(bào)數(shù),數(shù)到m的那個(gè)人又出列,依次類推,直到所有人出列為止,由此產(chǎn)生一個(gè)出隊(duì)編號(hào)的序列。
 * 并求出最后出列的人是哪個(gè)?
 */
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/>當(dāng)前有 {$n} 個(gè)小孩,從第 {$k} 個(gè)小孩開始報(bào)數(shù),數(shù)到 {$m} 退出br/>br/>";
  }
  // 數(shù)數(shù)
  public function exec(){
    $currentNode = $this->childList->findNode($this->head,$this->k);  // 獲取第一個(gè)開始報(bào)數(shù)的人
    $_num = 0;  // 當(dāng)前數(shù)到的值
    $surplus_num = $this->n;
    // 開始報(bào)數(shù)
    while ($surplus_num>1) {  // 只要人數(shù)大于1,就繼續(xù)報(bào)數(shù)
      // 當(dāng)前報(bào)數(shù)值
      $_num++;
      $nextNode = $this->childList->getNextNode($this->head,$currentNode);
      // 數(shù)至第m個(gè)數(shù),然后將其移除。報(bào)數(shù)恢復(fù)到0,重新循環(huán)。
      if( $_num==$this->m ){
        $_num = 0;
        $surplus_num--;
        // 當(dāng)前小孩退出
        $this->childList->delNode($this->head,$currentNode->no);
        echo 'br/>退出小孩編號(hào):' . $currentNode->no;
      }
      // 移動(dòng)到下一個(gè)小孩
      $currentNode = $nextNode;
    }
    echo 'br/>最后一個(gè)小孩編號(hào):' . $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();

運(yùn)行結(jié)果:

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


當(dāng)前有 4 個(gè)小孩,從第 1 個(gè)小孩開始報(bào)數(shù),數(shù)到 2 退出

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

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

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

標(biāo)簽:衡陽 白銀 崇左 鄂州 綏化 辛集 太原 廊坊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php使用環(huán)形鏈表解決約瑟夫問題完整示例》,本文關(guān)鍵詞  php,使用,環(huán)形,鏈表,解決,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php使用環(huán)形鏈表解決約瑟夫問題完整示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于php使用環(huán)形鏈表解決約瑟夫問題完整示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    亚洲自拍偷拍网站| 岛国精品资源网站| 午夜激情福利网| 欧美激情在线看| 国产在线精品一区二区夜色 | 国产女人被狂躁到高潮小说| 国产日韩欧美激情| 国产精品夜夜嗨| 国产aaaaaaaaa| 国产欧美日韩久久| 国产成人午夜电影网| 污污的视频在线免费观看| 国产精品卡一卡二| www.成人在线| 欧美视频一区在线| 亚洲国产精品久久久久婷婷884| 亚洲欧洲国产视频| 欧美一级夜夜爽| 美女网站在线免费欧美精品| 国产毛片久久久久久久| 久久女同互慰一区二区三区| 久久99精品国产.久久久久久| 中文字幕有码在线播放| 欧美高清一级片在线观看| 粉嫩一区二区三区性色av| 色老汉一区二区三区| 亚洲国产美女搞黄色| 中文在线一区二区三区| 精品成人佐山爱一区二区| 国产精品99久久久| 91国偷自产一区二区开放时间 | 欧美视频一区二区在线| 国产精品午夜免费| 特种兵之深入敌后| 91精品国产福利| 国产一区二区在线观看免费| 成人免费视频国产免费观看| 亚洲激情男女视频| 不卡一区二区在线观看| 国产亚洲美州欧州综合国| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 懂色av粉嫩av蜜乳av| 国产婷婷色一区二区三区| 波多野结衣精品在线| 欧美精品在线观看一区二区| 久久99久久99小草精品免视看| 欧美日韩黄色网| 亚洲成人免费av| 亚洲av成人无码久久精品| 亚洲天堂2014| 久久久亚洲av波多野结衣| 国产精品色婷婷久久58| 成年人小视频在线观看| 久久麻豆一区二区| 91浏览器打开| 久久久五月婷婷| 中文字幕avav| 久久久青草青青国产亚洲免观| www.日韩大片| 日韩精品影音先锋| 99这里都是精品| 精品免费国产一区二区三区四区| 成人激情图片网| 日韩欧美一区在线观看| 成人久久视频在线观看| 欧美一区二区在线免费观看| 岛国一区二区三区| 欧美成人官网二区| 91丨porny丨蝌蚪视频| 久久先锋影音av| 人妻 丝袜美腿 中文字幕| 久久精品亚洲精品国产欧美kt∨| 女教师高潮黄又色视频| 国产日韩综合av| 国产肉体xxxx裸体784大胆| 中文字幕在线观看一区二区| 中出视频在线观看| 亚洲欧美偷拍卡通变态| 免费视频91蜜桃| 午夜精品一区在线观看| 国产免费无码一区二区视频| 蜜桃视频一区二区| 欧美日韩三级一区| 成人av在线资源| 久久久国产一区二区三区四区小说| 91精品又粗又猛又爽| 中文字幕一区二区不卡| 欧美老女人性生活视频| 首页亚洲欧美制服丝腿| 在线观看一区二区视频| 处破女av一区二区| 亚洲精品一区二区三区蜜桃下载 | 亚洲国产精品高清| 日韩人妻一区二区三区| 亚洲成人av在线电影| 91国产免费看| 成人激情综合网站| 日本一区二区三区在线观看| 国产中年熟女高潮大集合| 亚洲第一主播视频| 在线观看日韩高清av| 成人精品高清在线| 国产精品丝袜久久久久久app| 免费福利视频网站| 蜜桃一区二区三区四区| 欧美一区二区在线视频| 美女伦理水蜜桃4| 亚洲一区二区在线免费观看视频| 色天天综合久久久久综合片| 成人午夜又粗又硬又大| 欧美激情自拍偷拍| 美女三级黄色片| 国产老妇另类xxxxx| 久久中文娱乐网| 中文字幕网站在线观看| 久久综合综合久久综合| 欧美成人在线直播| 欧美多人猛交狂配| 蜜臀久久久久久久| 欧美va亚洲va香蕉在线| 国产精品亚洲无码| 久久99精品国产麻豆婷婷洗澡| 欧美xxxx在线观看| 巨胸大乳www视频免费观看| 秋霞影院一区二区| 欧美成人video| 国产精成人品免费观看| 国产一区二区福利视频| 国产日韩欧美高清在线| 亚洲怡红院在线观看| 国产成人av电影在线| 国产精品欧美久久久久无广告| 国产67194| 91网页版在线| 亚洲高清免费一级二级三级| 在线不卡欧美精品一区二区三区| 中文字幕乱码一区| 免费日韩伦理电影| 久久精品亚洲精品国产欧美 | 中文字幕av免费专区久久| 国产稀缺精品盗摄盗拍| 成人h动漫精品一区二| 亚洲美女视频在线| 欧美猛男gaygay网站| 香港三级日本三级| 久久99日本精品| 国产精品免费免费| 在线视频一区二区三| 中国黄色片视频| 另类小说一区二区三区| 国产免费观看久久| 色成人在线视频| 国产伦精品一区二区免费| 麻豆成人综合网| 国产精品久久久久久久午夜片| 69av.com| 中文成人无字幕乱码精品区| 久久爱www久久做| 综合分类小说区另类春色亚洲小说欧美 | 欧美电影免费观看高清完整版| 国产一区二区三区四区在线| 成人免费视频视频在线观看免费| 亚洲最新视频在线观看| 欧美成va人片在线观看| 在线看的片片片免费| 精品国产一二区| 久久国产麻豆精品| 日韩美女久久久| 日韩欧美国产一区在线观看| 在线看片中文字幕| 波多野结衣中文字幕在线播放| 日本不卡在线视频| 国产精品色呦呦| 制服丝袜av成人在线看| 极品蜜桃臀肥臀-x88av| 91丨九色丨蝌蚪丨老版| 久久99精品国产91久久来源| 综合精品久久久| 精品国精品自拍自在线| 色94色欧美sute亚洲线路一久| 给我免费观看片在线电影的| 国产成人av电影在线观看| 亚欧色一区w666天堂| 日本一区二区动态图| 在线电影国产精品| 永久免费看片直接| 国产在线观看无码免费视频| www.日韩大片| 精品一区二区免费在线观看| 日韩一区有码在线| 欧美xxxx在线观看| 欧美色爱综合网| 日韩亚洲欧美中文字幕| 久久福利小视频| 99久久精品免费精品国产| 极品少妇xxxx偷拍精品少妇| 一区二区国产视频| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美日韩国产片| 在线观看黄网址|