亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

 更新時間:2017年09月15日 11:51:44   作者:巷雨微若  
這篇文章主要介紹了PHP環(huán)形鏈表實現(xiàn)方法,結(jié)合具體實例形式分析了PHP環(huán)形鏈表的定義、創(chuàng)建及遍歷等操作技巧與注意事項,需要的朋友可以參考下

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

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

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

環(huán)形鏈表是一種非常靈活的存儲結(jié)構(gòu),可解決許多實際問題,魔術(shù)師發(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)//當(dāng)$cur->next==$first說明到了鏈表的最后一個節(jié)點
  {
    echo $cur->no.'</br>';
    $cur = $cur->next;
  }
  //當(dāng)退出循環(huán)的時候$cur->next=$first 剛好會忽略當(dāng)前節(jié)點本身的遍歷 所以退出的時候還要輸出一下 否則會少遍歷一個節(jié)點
  echo $cur->no;
}

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

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

相關(guān)文章

最新評論