[PHP] 資料結構-鏈表建立-插入-刪除-尋找的PHP實現

來源:互聯網
上載者:User

標籤:link   ret   判斷   turn   next   結構   class   lis   list   

鏈表擷取元素
1.聲明結點p指向鏈表第一個結點,j初始化1開始
2.j<i,p指向下一結點,因為此時p是指向的p的next,因此不需要等於
3.如果到末尾了,p還為null,就是沒有尋找到


插入元素
1.插入元素和尋找類似,找到位置後
2.產生新的結點s, s->next=p->next p->next=s;

刪除元素
1.刪除元素,找到位置後
2.繞過一下,q=p->next p->next=q->next;

 

<?phpclass Node{        public $data;        public $next;}//建立一個鏈表$linkList=new Node();$linkList->next=null;$temp=$linkList;for($i=1;$i<=10;$i++){        $node=new Node();        $node->data="aaa{$i}";        $node->next=null;        $temp->next=$node;        $temp=$node;}//擷取元素function getEle($linkList,$i,&$e){        $p=$linkList->next;        //尋找結點標準語句        $j=1;        while($p && $j<$i){                $p=$p->next;                ++$j;        }           if(!$p || $j>$i){                return false;        }           $e=$p->data;        return true;}//插入元素function listInsert(&$linkList,$i,$e){        $p=$linkList;        $j=1;        while($p && $j<$i){                $p=$p->next;                ++$j;        }           if(!$p || $j>$i){                return false;        }           $s=new Node();        $s->data=$e;        //插入元素標準語句        $s->next=$p->next;        $p->next=$s;        return true;}//刪除元素function listDelete(&$linkList,$i,&$e){        $p=$linkList;        $j=1;        //注意這裡的判斷$p->next為真,主要是後面要把$p->next指向$p->next->next        while($p->next && $j<$i){                $p=$p->next;                ++$j;        }        if(!$p->next || $j>$i){                return false;        }        $q=$p->next;//這個才是當前元素        $e=$q->data;        $p->next=$q->next;        return true;}$e="";//擷取元素getEle($linkList,5,$e);var_dump($e);//插入元素listInsert($linkList,5,"taoshihan");//刪除元素listDelete($linkList,1,$e);var_dump($e);var_dump($linkList);

  

[PHP] 資料結構-鏈表建立-插入-刪除-尋找的PHP實現

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.