婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP實現(xiàn)雙鏈表刪除與插入節(jié)點的方法示例

PHP實現(xiàn)雙鏈表刪除與插入節(jié)點的方法示例

熱門標(biāo)簽:網(wǎng)絡(luò)電話400申請 全國各省地圖標(biāo)注點 福建高頻外呼防封系統(tǒng)哪家好 400電話申請辦理 周口網(wǎng)絡(luò)回撥外呼系統(tǒng) 商丘外呼系統(tǒng)好處 百度地圖標(biāo)注類型是酒店 隨州銷售電銷機器人公司 外呼系統(tǒng)人工客服

本文實例講述了PHP實現(xiàn)雙鏈表刪除與插入節(jié)點的方法。分享給大家供大家參考,具體如下:

概述:

雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個數(shù)據(jù)結(jié)點中都有兩個指針,分別指向直接后繼和直接前驅(qū)。所以,從雙向鏈表中的任意一個結(jié)點開始,都可以很方便地訪問它的前驅(qū)結(jié)點和后繼結(jié)點。一般我們都構(gòu)造雙向循環(huán)鏈表。

實現(xiàn)代碼:

?php 
class node{
  public $prev;
  public $next;
  public $data;
  public function __construct($data,$prev=null,$next=null){
    $this->data=$data;
    $this->prev=$prev;
    $this->next=$next;
  }
}
class doubleLinkList{
  private $head;
  public function __construct()
  {
    $this->head=new node("head",null,null);
  }
  //插入節(jié)點
  public function insertLink($data){
    $p=new node($data,null,null);
    $q=$this->head->next;
    $r=$this->head;
    while($q){
      if($q->data>$data){
        $q->prev->next=$p;
        $p->prev=$q->prev;
        $p->next=$q;
        $q->prev=$p;
      }else{
      $r=$q;$q=$q->next;
      }
    }
    if($q==null){
      $r->next=$p;
      $p->prev=$r;
    }
  }
  //從頭輸出節(jié)點
  public function printFromFront(){
    $p=$this->head->next;
    $string="";
    while($p){
    $string.=$string?",":"";
    $string.=$p->data;
    $p=$p->next;
    }
    echo $string."br>";
  }
  //從尾輸出節(jié)點
  public function printFromEnd(){
    $p=$this->head->next;
    $r=$this->head;
    while($p){
    $r=$p;$p=$p->next;
    }
    $string="";
    while($r){
      $string.=$string?",":"";
      $string.=$r->data;
      $r=$r->prev;
    }
    echo $string."br>";
  }
  public function delLink($data){
    $p=$this->head->next;
    if(!$p)
    return;
    while($p){
      if($p->data==$data)
      {
        $p->next->prev=$p->prev;
        $p->prev->next=$p->next;
        unset($p);
        return;
      }
      else{
        $p=$p->next;
      }
    }
    if($p==null)
    echo "沒有值為{$data}的節(jié)點";
  }
}
$link=new doubleLinkList();
$link->insertLink(1);
$link->insertLink(2);
$link->insertLink(3);
$link->insertLink(4);
$link->insertLink(5);
$link->delLink(3);
$link->printFromFront();
$link->printFromEnd();
$link->delLink(6);

運行結(jié)果:

1,2,4,5
5,4,2,1,head
沒有值為6的節(jié)點

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》及《PHP數(shù)學(xué)運算技巧總結(jié)》

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

您可能感興趣的文章:
  • php遞歸調(diào)用刪除數(shù)組空值元素的方法
  • PHP遞歸刪除多維數(shù)組中的某個值
  • 實現(xiàn)php刪除鏈表中重復(fù)的結(jié)點
  • 利用PHP實現(xiàn)遞歸刪除鏈表元素的方法示例

標(biāo)簽:迪慶 十堰 海南 南寧 六安 樂山 佛山 定西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實現(xiàn)雙鏈表刪除與插入節(jié)點的方法示例》,本文關(guān)鍵詞  PHP,實現(xiàn),雙鏈,表,刪除,與,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實現(xiàn)雙鏈表刪除與插入節(jié)點的方法示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實現(xiàn)雙鏈表刪除與插入節(jié)點的方法示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 马山县| 南宁市| 辽宁省| 余干县| 刚察县| 菏泽市| 华亭县| 弋阳县| 乌拉特中旗| 德安县| 伊宁市| 永平县| 南涧| 江永县| 建瓯市| 郁南县| 明水县| 武邑县| 卫辉市| 古田县| 巨野县| 麟游县| 宽甸| 栾川县| 竹山县| 黔东| 邹城市| 鲁山县| 久治县| 旌德县| 昭觉县| 伊宁县| 山阴县| 明星| 金塔县| 延长县| 威海市| 英山县| 延津县| 道孚县| 日喀则市|