国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP環(huán)形鏈表實(shí)現(xiàn)方法示例

2024-05-05 00:00:09
字體:
供稿:網(wǎng)友

本文實(shí)例講述了PHP環(huán)形鏈表實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

環(huán)形鏈表是一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),類似于單鏈表。區(qū)別是環(huán)形鏈表的尾節(jié)點(diǎn)指向頭節(jié)點(diǎn)。

從而形成一個(gè)環(huán),

環(huán)形鏈表是一種非常靈活的存儲(chǔ)結(jié)構(gòu),可解決許多實(shí)際問題,魔術(shù)師發(fā)牌問題和約瑟夫問題

都能利用環(huán)形鏈表來解決,下面是一個(gè)完整的環(huán)形鏈表實(shí)例,使用php來實(shí)現(xiàn)的(參照韓順平老師的php算法教程)

/**  *  環(huán)形鏈表的實(shí)現(xiàn) *   */class child{  public $no;//序號(hào)  public $next;//指向下個(gè)節(jié)點(diǎn)的指針  public function __construct($no=''){    $this ->no = $no;  }}/** * 創(chuàng)建一個(gè)環(huán)形鏈表 * @param $first null  鏈表的頭節(jié)點(diǎn) * @param $num  integer 需要添加節(jié)點(diǎn)的數(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é)點(diǎn)指向頭節(jié)點(diǎn) 形成環(huán)形鏈表      $cur = $first;//鏈表的頭節(jié)點(diǎn)不能動(dòng) 需要交給一個(gè)臨時(shí)變量    } else {      $cur->next = $child;      $cur->next->next = $first;//將鏈表的尾節(jié)點(diǎn)指向頭節(jié)點(diǎn) 形成環(huán)形鏈表      $cur = $cur->next;    }  }}/** * 遍歷環(huán)形鏈表 * @param $first object 環(huán)形鏈表的頭 *  */function show ($first){  //頭節(jié)點(diǎn)不能動(dòng),交個(gè)一個(gè)臨時(shí)變量  $cur = $first;  while ($cur->next!=$first)//當(dāng)$cur->next==$first說明到了鏈表的最后一個(gè)節(jié)點(diǎn)  {    echo $cur->no.'</br>';    $cur = $cur->next;  }  //當(dāng)退出循環(huán)的時(shí)候$cur->next=$first 剛好會(huì)忽略當(dāng)前節(jié)點(diǎn)本身的遍歷 所以退出的時(shí)候還要輸出一下 否則會(huì)少遍歷一個(gè)節(jié)點(diǎn)  echo $cur->no;}

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


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 黎平县| 鄂伦春自治旗| 南溪县| 乌鲁木齐县| 平乡县| 葵青区| 凉城县| 昌平区| 沭阳县| 浠水县| 乐都县| 墨竹工卡县| 十堰市| 夏邑县| 阳谷县| 虹口区| 鲁甸县| 措美县| 师宗县| 略阳县| 七台河市| 岚皋县| 静宁县| 阳谷县| 澎湖县| 南汇区| 闻喜县| 石屏县| 和硕县| 康马县| 福清市| 普陀区| 兰州市| 芦山县| 防城港市| 龙江县| 铜山县| 定西市| 新化县| 慈利县| 循化|