使用PHP編寫發(fā)紅包程序
746
2023-12-10
本文實例講述了PHP環(huán)形鏈表實現(xiàn)方法。分享給大家供大家參考,具體如下:
環(huán)形鏈表是一種鏈式存儲結構,類似于單鏈表。區(qū)別是環(huán)形鏈表的尾節(jié)點指向頭節(jié)點。
從而形成一個環(huán),
環(huán)形鏈表是一種非常靈活的存儲結構,可解決許多實際問題,魔術師發(fā)牌問題和約瑟夫問題
都能利用環(huán)形鏈表來解決,下面是一個完整的環(huán)形鏈表實例,使用php來實現(xiàn)的(參照韓順平老師的php算法教程)
/** * 環(huán)形鏈表的實現(xiàn) * */ class child { public $no;//序號 public $next;//指向下個節(jié)點的指針 public function __construct($no=''){ $this ->no = $no; } } /** * 創(chuàng)建一個環(huán)形鏈表 * @param $first null 鏈表的頭節(jié)點 * @param $num integer 需要添加節(jié)點的數(shù)量 */ function create(&$first,$num) { $cur = null; for ($i=0;$i<$num;$i++) { $child = new child($i+1); if ($i==0) { $first = $child; $first->next = $first;//將鏈表的尾節(jié)點指向頭節(jié)點 形成環(huán)形鏈表 $cur = $first;//鏈表的頭節(jié)點不能動 需要交給一個臨時變量 } else { $cur->next = $child; $cur->next->next = $first;//將鏈表的尾節(jié)點指向頭節(jié)點 形成環(huán)形鏈表 $cur = $cur->next; } } } /** * 遍歷環(huán)形鏈表 * @param $first object 環(huán)形鏈表的頭 * */ function show ($first) { //頭節(jié)點不能動,交個一個臨時變量 $cur = $first; while ($cur->next!=$first)//當$cur->next==$first說明到了鏈表的最后一個節(jié)點 { echo $cur->no.'</br>'; $cur = $cur->next; } //當退出循環(huán)的時候$cur->next=$first 剛好會忽略當前節(jié)點本身的遍歷 所以退出的時候還要輸出一下 否則會少遍歷一個節(jié)點 echo $cur->no; }
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結構與算法教程》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
#免責聲明#
本站[綠夏技術導航]提供的一切軟件、教程和內容信息僅限用于學習和研究目的;不得將上述內容用于商業(yè)或者非法用途,否則,一切后果請用戶自負。本站信息來自網(wǎng)絡收集整理,版權爭議與本站無關。您必須在下載后的24個小時之內,從您的電腦或手機中徹底刪除上述內容。如果您喜歡該程序或內容,請支持正版,購買注冊,得到更好的正版服務。我們非常重視版權問題,如有侵權請郵件[admin@lxwl520.com]與我們聯(lián)系進行刪除處理。敬請諒解!