用單向循環鏈表實現約瑟夫環問題(約瑟夫環數據結構循環單鏈表)

    本文主要介紹用單向循環鏈表實現約瑟夫環問題(約瑟夫環數據結構循環單鏈表),下面一起看看用單向循環鏈表實現約瑟夫環問題(約瑟夫環數據結構循環單鏈表)相關資訊。
    本文通過一個例子來說明如何在php中基于單向鏈表解決約瑟夫環問題。分享給你,供你參考,如下:
    約瑟夫環問題:羅馬人占領喬塔帕特后,39名猶太人與約瑟夫斯和他的朋友一起躲在一個山洞里,39名猶太人決定寧死也不被敵人抓住,于是決定了模式。四十一個人排成一圈,第一個人開始報數。他們每數到第三個人就要,然后下一個人再報數,直到所有人都。然而,約瑟夫斯和他的朋友們不想遵從。從一個人開始,穿越k-2個人(因為第一個人已經被穿越了),殺死第k個人。然后,過k-1人,殺k人。這個過程沿著圓圈繼續,直到只剩下一個人,這個人還能繼續活下去。問題是,給定金額,我應該首先站在哪里以避免被執行死刑?約瑟夫斯要求他的朋友先假裝服從。他把他的朋友和他自己放在16號和31號位置,所以他逃過了死亡的游戲。
    比較相似的問題有:n個人組成一個圈,編號為1,2,...,n依次。現在,從1號開始依次報數。向m匯報時,向m匯報的人退出,下一個人從1重新匯報,以此類推。什么是最后一個人 s號?
    代碼實現:
    ?phpclass node { public $ value//節點值public $ nextnode//next node}函數create ($ node,$ value){ $ node-value = $ value;}function addnode($node,$ value){ $ lastnode = find lastnode($ node);$ next node = new node;$ next node-value = $ value;$ lastnode-next node = $ next node;}/*查找最后一個節點*/函數find lastnode($ node){ if(empty($ node-next node)){ return $ node;} else { return findlastnode($ node-next node);}}/*刪除節點必須有頭作為引用值*/函數刪除節點($ head,$ node,$ k = 1) {if ($ k 1 = $ m)){ if($ node-next node = = $ head){ $ node-next node = $ node-next node-next node;$ head = $ node-next node;返回$ node-next node;} else { $ node-next node = $ node-next node-next node;返回$ node-next node;} }else{ return deletenode($head,$node-nextnode,$m,$ k);}}/*節點數*/函數計數node ($ head,$ node,$ count = 1){ if($ node-next node = = $ head){ return $ count;}else{ return countnode($head,$node-nextnode,$ count);} }函數printnode($head,$node){ echo $node-value。 ;if($node-nextnode == $head)返回;printnode($head,$ node-next node);}函數顯示($ data){ echo ;預科和高中。;;print _ r($ data);回聲報。;/pre ;;} $ head = new node;create($head,1);addnode($head,2);addnode($head,3);addnode($head,4);addnode($head,5);addnode($head,6);addnode($head,7);addnode($head,8);addnode($head,9);addnode($head,10);addnode($head,11);addnode($head,12);$ lastnode = find lastnode($ head);$ lastnode-next node = $ head;$count = countnode($head,$ head);$ tmphead = $ headwhile($ count 2){ $ tmp head = delete node($ head,$tmphead,3,1);$count = countnod《php數據結構與算法教程》、《php基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》和《php程序設計算法總結》。
    希望這篇文章對你設計php程序有所幫助。
    標簽:
    個人節點問題朋友
    了解更多用單向循環鏈表實現約瑟夫環問題(約瑟夫環數據結構循環單鏈表)相關內容請關注本站點。

    附近的維修電腦,附近哪里有維修電腦的地方
    三星n910v怎么解鎖,如何解三星手機鎖
    怎么在文件管理安裝應用,手機文件管理被禁止安裝應用
    抖音直播伴侶電腦版安裝教學(抖音直播伴侶怎樣直播電腦窗口)
    安卓系統怎么回到以前的版本(安卓手機如何恢復到以前版本)
    用單向循環鏈表實現約瑟夫環問題(約瑟夫環數據結構循環單鏈表)
    怎么關閉手機分身術(如何取消手機系統分身)
    快手極速版提現時顯示第三方賬號綁定怎么解除微信(快手極速版提現時顯示第三方賬號綁定怎么解除視頻)
    windows1909安裝失敗(win101909版本安裝失敗)
    pe系統復制到u盤,如何把系統光盤的PE轉到U盤
    下音樂的軟件,全免費下載歌曲軟件
    win7虛擬機安裝系統的步驟教程圖片(win7虛擬機安裝教程win10)
    華為藍牙耳機手表怎么戴耳朵(華為藍牙耳機佩戴不牢)
    pdf格式怎么給內容打碼(pdf 打碼)
    icp許可證轉讓,ICP資質轉讓有嗎多少費用
    外接SSD,外接ssd是什么意思
    m2固態硬盤有什么好處,SSD中SATAm2PCIE和NVME各有什么意義
    office2003密鑰序列號能多次使用嗎(office2013密鑰序列號)
    全黑的照片怎么調回來(把黑照片調亮)
    刪除了的微信能遷移嗎怎么找回(刪除了的微信能遷移嗎怎么恢復)
    主站蜘蛛池模板: 精品动漫一区二区无遮挡| 国产精品视频一区二区三区不卡| 婷婷亚洲综合一区二区| 亚洲午夜日韩高清一区| 精品深夜AV无码一区二区| 国产成人av一区二区三区在线 | 亚洲AV无码一区二区三区电影| 一区二区三区高清在线| 欲色aV无码一区二区人妻| 性无码一区二区三区在线观看| 一区二区三区精品视频| 日韩a无吗一区二区三区| 日本免费一区二区三区| 岛国无码av不卡一区二区| 国产aⅴ一区二区三区| 亚洲av乱码中文一区二区三区| 无码乱人伦一区二区亚洲一| 久久久久女教师免费一区| 无码少妇一区二区浪潮av| 国产丝袜一区二区三区在线观看 | 亚洲AV日韩AV天堂一区二区三区| 日本中文一区二区三区亚洲| 日本精品一区二区三区视频| 精品国产一区二区三区AV| 国产精品福利一区二区| 国产一区在线mmai| 中文字幕精品一区二区| 无码一区二区三区中文字幕| 性色A码一区二区三区天美传媒 | 香蕉久久av一区二区三区| 精品久久一区二区三区| 免费一区二区无码东京热| 精品aⅴ一区二区三区| 亚洲中文字幕无码一区二区三区| 国产精品一区二区三区免费| 精品国产不卡一区二区三区| 东京热无码一区二区三区av| 香蕉免费一区二区三区 | 精品不卡一区中文字幕| 国产A∨国片精品一区二区| 色一情一乱一伦一区二区三区日本|