最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP小教程之實現(xiàn)雙向鏈表

 更新時間:2014年06月12日 09:06:29   投稿:hebedich  
雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個數(shù)據(jù)結點中都有兩個指針,分別指向直接后繼和直接前驅。所以,從雙向鏈表中的任意一個結點開始,都可以很方便地訪問它的前驅結點和后繼結點。一般我們都構造雙向循環(huán)鏈表。

看了很久數(shù)據(jù)結構但是沒有怎么用過,在網(wǎng)上看到了關于PHP的數(shù)據(jù)結構,學習了一下,與大家一起分享一下。上一次分享了《PHP小教程之實現(xiàn)鏈表》,這次來補充說一下雙向鏈表。

復制代碼 代碼如下:

<?php
        class Hero
        {
            public $pre=null;
            public $no;
            public $name;
            public $next=null;
            public function __construct($no='',$name='')
            {
                $this->no=$no;
                $this->name=$name;
            }
            static public function addHero($head,$hero)
            {
                $cur = $head;
                $isExist=false;
                //判斷目前這個鏈表是否為空
                if($cur->next==null)
                {
                    $cur->next=$hero;
                    $hero->pre=$cur;
                }
                else
                {
                    //如果不是空節(jié)點,則安排名來添加
                    //找到添加的位置
                    while($cur->next!=null)
                    {
                        if($cur->next->no > $hero->no)
                        {
                            break;
                        }
                        else if($cur->next->no == $hero->no)
                        {
                            $isExist=true;
                            echo "<br>不能添加相同的編號";
                        }
                        $cur=$cur->next;
                    }
                    if(!$isExist)
                    {
                        if($cur->next!=null)
                        {
                            $hero->next=$cur->next;
                        }
                        $hero->pre=$cur;
                        if($cur->next!=null)
                        {
                            $hero->next->pre=$hero;
                        }
                        $cur->next=$hero;                   
                    }
                }
            }
            //遍歷
            static public function showHero($head)
            {
                $cur=$head;
                while($cur->next!=null)
                {
                    echo "<br>編號:".$cur->next->no."名字:".$cur->next->name;
                    $cur=$cur->next;
                }
            }
            static public function delHero($head,$herono)
            {
                $cur=$head;
                $isFind=false;
                while($cur!=null)
                {
                    if($cur->no==$herono)
                    {
                        $isFind=true;
                        break;
                    }
                    //繼續(xù)找
                    $cur=$cur->next;
                }
                if($isFind)
                {
                    if($cur->next!=null)
                    {
                        $cur->next_pre=$cur->pre;
                    }
                    $cur->pre->next=$cur->next;
                }
                else
                {
                    echo "<br>沒有找到目標";
                }               
            }
        }
        $head = new Hero();
        $hero1 = new Hero(1,'1111');
        $hero3 = new Hero(3,'3333');
        $hero2 = new Hero(2,'2222');
        Hero::addHero($head,$hero1);
        Hero::addHero($head,$hero3);
        Hero::addHero($head,$hero2);
        Hero::showHero($head);
        Hero::delHero($head,2);
        Hero::showHero($head);
?>

相關文章

  • ThinkPHP5框架中使用JWT的方法示例

    ThinkPHP5框架中使用JWT的方法示例

    這篇文章主要介紹了ThinkPHP5框架中使用JWT的方法,結合實例形式詳細分析了ThinkPHP5中使用JWT的具體步驟與相關操作技巧,需要的朋友可以參考下
    2020-06-06
  • Zend Framework框架路由機制代碼分析

    Zend Framework框架路由機制代碼分析

    這篇文章主要介紹了Zend Framework框架路由機制,結合代碼分析了Zend Framework路由機制所涉及的控制器,路由器原理與相關代碼實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • 跟我學Laravel之視圖 & Response

    跟我學Laravel之視圖 & Response

    這篇文章主要介紹了Laravel框架的視圖 & Response,非常簡單實用,需要的朋友可以參考下
    2014-10-10
  • PHP中Session可能會引起并發(fā)問題

    PHP中Session可能會引起并發(fā)問題

    Session 中文沒有一個統(tǒng)一的譯法,我習慣上譯為會話。關于session的意義大家都應該清楚: 其實是在瀏覽某個網(wǎng)站時,在瀏覽器沒有關閉的情形之下,一個web應用的開始和結束。一個session可以包括數(shù)次http的請求和應答
    2015-06-06
  • PHP把小數(shù)轉成整數(shù)3種方法

    PHP把小數(shù)轉成整數(shù)3種方法

    這篇文章主要介紹了PHP把小數(shù)轉成整數(shù)3種方法,實際上是使用的PHP自帶的3個函數(shù),分別是floor、ceil和round,需要的朋友可以參考下
    2014-06-06
  • Codeigniter+PHPExcel實現(xiàn)導出數(shù)據(jù)到Excel文件

    Codeigniter+PHPExcel實現(xiàn)導出數(shù)據(jù)到Excel文件

    PHPExcel是用來操作OfficeExcel文檔的一個PHP類庫,Codeigniter是一個功能強大的PHP框架。二者結合就能起到非常棒的效果,需要的朋友可以參考下
    2014-06-06
  • php使用strtotime和date函數(shù)判斷日期是否有效代碼分享

    php使用strtotime和date函數(shù)判斷日期是否有效代碼分享

    php使用strtotime和date函數(shù)進行檢驗判斷日期是否有效代碼分享,大家參考使用吧
    2013-12-12
  • YII2框架中behavior行為的理解與使用方法示例

    YII2框架中behavior行為的理解與使用方法示例

    這篇文章主要介紹了YII2框架中behavior行為的理解與使用方法,結合實例形式詳細分析了YII2中behavior行為的功能、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2020-03-03
  • PHP使用Redis實現(xiàn)Session共享的實現(xiàn)示例

    PHP使用Redis實現(xiàn)Session共享的實現(xiàn)示例

    這篇文章主要介紹了PHP使用Redis實現(xiàn)Session共享的實現(xiàn)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • ThinkPHP的I方法使用詳解

    ThinkPHP的I方法使用詳解

    ThinkPHP的I方法是眾多單字母函數(shù)中的新成員,主要用于更加方便和安全的獲取系統(tǒng)輸入變量,可以用于任何地方。這篇文章主要介紹了ThinkPHP的I方法,需要的朋友可以參考下
    2014-06-06

最新評論

屏山县| 察哈| 罗田县| 名山县| 昌乐县| 定州市| 子洲县| 德令哈市| 临沂市| 封丘县| 贵阳市| 昌平区| 洞口县| 璧山县| 潼南县| 鲁山县| 安吉县| 海兴县| 手游| 县级市| 天柱县| 宜宾市| 白城市| 德保县| 柳州市| 嘉兴市| 湖北省| 潞城市| 乐清市| 威信县| 抚松县| 肃宁县| 灵川县| 荆门市| 依安县| 革吉县| 东海县| 东兰县| 吴忠市| 浦北县| 钦州市|