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

    本文主要介紹用單向循環鏈表實現約瑟夫環問題(約瑟夫環數據結構循環單鏈表),下面一起看看用單向循環鏈表實現約瑟夫環問題(約瑟夫環數據結構循環單鏈表)相關資訊。
    本文通過一個例子來說明如何在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密鑰序列號)
    全黑的照片怎么調回來(把黑照片調亮)
    刪除了的微信能遷移嗎怎么找回(刪除了的微信能遷移嗎怎么恢復)
    主站蜘蛛池模板: 国产另类TS人妖一区二区| 女人和拘做受全程看视频日本综合a一区二区视频 | 国产av一区最新精品| 国产日韩一区二区三免费高清| 精品国产亚洲一区二区三区在线观看 | 成人无号精品一区二区三区| 中文无码精品一区二区三区| 精品视频午夜一区二区| 天天视频一区二区三区| 日韩最新视频一区二区三| 少妇特黄A一区二区三区| 中文字幕人妻无码一区二区三区 | 人妻少妇精品视频三区二区一区| 亚洲不卡av不卡一区二区| 三上悠亚国产精品一区| 中文字幕在线观看一区二区三区| 视频一区在线播放| 精品女同一区二区| 无码精品蜜桃一区二区三区WW | 国产在线不卡一区二区三区| 国产精品主播一区二区| aⅴ一区二区三区无卡无码| 精品人妻一区二区三区四区| 日韩精品一区二区三区在线观看l| 国产电影一区二区| 亚洲av无码成人影院一区| 亚洲丰满熟女一区二区哦| 日韩美一区二区三区| 色系一区二区三区四区五区 | 天天看高清无码一区二区三区| 国产婷婷色一区二区三区深爱网 | 一级毛片完整版免费播放一区| 日韩精品免费一区二区三区| 国产在线一区二区杨幂| 日亚毛片免费乱码不卡一区| 国产精品自在拍一区二区不卡| 国精产品一区一区三区| 日韩av无码一区二区三区| 亚洲丰满熟女一区二区哦| 日韩精品一区在线| 狠狠色婷婷久久一区二区|