站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        解析PHP標準庫SPL數(shù)據(jù)結(jié)構(gòu)

        解析PHP標準庫SPL數(shù)據(jù)結(jié)構(gòu)

        SPL提供了雙向鏈表、堆棧、隊列、堆、降序堆、升序堆、優(yōu)先級隊列、定長數(shù)組、對象容器

        解析PHP標準庫SPL數(shù)據(jù)結(jié)構(gòu)

        SplQueue 隊列類

        進出異端,先進先出

        解析PHP標準庫SPL數(shù)據(jù)結(jié)構(gòu)
        <?php$obj = new SplQueue();//插入一個節(jié)點到top位置$obj->enqueue(1); $obj->enqueue(2); $obj->enqueue(3);/** SplQueue Object (     [flags:SplDoublyLinkedList:private] => 4     [dllist:SplDoublyLinkedList:private] => Array         (             [0] => 1             [1] => 2             [2] => 3         )  ) */$obj->offsetSet(0,'C');/** SplQueue Object (     [flags:SplDoublyLinkedList:private] => 4     [dllist:SplDoublyLinkedList:private] => Array         (             [0] => 'C'             [1] => 2             [2] => 3         )  ) */$obj->rewind();//從隊列中返回并刪除bottom位置的元素$obj->dequeue();/** 'C'  SplQueue Object (     [flags:SplDoublyLinkedList:private] => 4     [dllist:SplDoublyLinkedList:private] => Array         (             [0] => 2             [1] => 3         )  ) */復(fù)制代碼

        SplStack 堆棧類

        單端進出時,后進先出,先進后出

        解析PHP標準庫SPL數(shù)據(jù)結(jié)構(gòu)
        $obj = new SplStack();/** SplStack Object (     [flags:SplDoublyLinkedList:private] => 6     [dllist:SplDoublyLinkedList:private] => Array         (         )  ) *///向堆棧放入一個節(jié)點到top位置$obj->push(1); $obj->push(2); $obj->push(3);/** SplStack Object (     [flags:SplDoublyLinkedList:private] => 6     [dllist:SplDoublyLinkedList:private] => Array         (             [0] => 1             [1] => 2             [2] => 3         )  ) *///堆棧的offset = 0 是Top所在的位置,offset = 1 是top節(jié)點靠近bottom位置的相鄰節(jié)點$obj->offsetSet(0,'C');/** SplStack Object (     [flags:SplDoublyLinkedList:private] => 6     [dllist:SplDoublyLinkedList:private] => Array         (             [0] => 1             [1] => 2             [2] => 'C'         )  ) */$obj->offsetSet(1,'B');/** SplStack Object (     [flags:SplDoublyLinkedList:private] => 6     [dllist:SplDoublyLinkedList:private] => Array         (             [0] => 1             [1] => 'B'             [2] => 'C'         )  ) *///堆棧的rewind使指針指向top節(jié)點,而雙向鏈表的rewind指向bottom節(jié)點$obj->rewind();//堆棧的next是使指針向bottom方向相鄰的節(jié)點移動一位,而鏈表是向top方向移動$obj->next();//遍歷堆棧$obj->rewind();while($obj->valid()){    echo $obj->key().'=>'.$obj->current();     $obj->next(); }/** 2=>'C' 1=>'B' 0=>1 *///從堆棧中取出top位置的節(jié)點并刪除$obj->pop();復(fù)制代碼

        SplDoublyLinkedList 雙向鏈表類

        解析PHP標準庫SPL數(shù)據(jù)結(jié)構(gòu)
        $obj = new SplDoublyLinkedList();//SplDoublyLinkedList Object ( [flags:SplDoublyLinkedList:private] => 0 [dllist:SplDoublyLinkedList:private] => Array ( ) )//把新的節(jié)點數(shù)據(jù)添加到鏈表的頂部Top$obj->push(1); $obj->push(2); $obj->push(3);//把新的節(jié)點數(shù)據(jù)添加到鏈表底部bottom$obj->unshift(4);/** SplDoublyLinkedList Object (     [flags:SplDoublyLinkedList:private] => 0     [dllist:SplDoublyLinkedList:private] => Array         (             [0] => 4             [1] => 1             [2] => 2             [3] => 3         )  ) *///在沒有調(diào)用rewind()方法之前輸出為nullecho 'current'.$obj->current();//輸出: null//把指針指向bottom節(jié)點$obj->rewind();//獲取當前指針指向的節(jié)點$obj->current();//輸出: 4//將執(zhí)行挪到下一個$obj->next(); $obj->current();//輸出: 1$obj->prev(); $obj->current();//輸出: 4//越界了$obj->next(); $obj->next(); $obj->next(); $obj->next(); $obj->current();//輸出: null//判斷當前節(jié)點是否有效$obj->valid()//輸出: false$obj->prev(); $obj->valid()//輸出: true$obj->shift();//把top節(jié)點從鏈表中刪除并返回$obj->pop();//輸出 3//把bottom節(jié)點從鏈表中刪除并返回$obj->shift();//輸出 4//返回top節(jié)點$obj->top();//返回bottom節(jié)點$obj->bottom();復(fù)制代碼

        感謝您的閱讀,如果對您有幫助,歡迎關(guān)注"CRMEB"。碼云上有我們開源的商城項目,知識付費項目,均是基于PHP+vue開發(fā),學(xué)習(xí)研究歡迎使用,關(guān)注我們保持聯(lián)系!

        想了解

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 亚洲综合一区二区国产精品| 国产精品va在线观看无码| 99re国产精品视频首页| 久久国产午夜精品一区二区三区 | 久久99热只有频精品8| 精品久久久久久久久久久久久久久| 国产精品国色综合久久| 亚洲精品无码av天堂| 国产三级精品三级在线观看专1| 国产成人精品久久二区二区| 久久久久女人精品毛片| 亚洲欧美日韩国产精品| 久久www免费人成精品香蕉| 亚洲国产精品免费视频| 国产精品视频一区二区三区经| 精品国产第一国产综合精品| 亚洲无码精品浪潮| 久久亚洲AV永久无码精品| 黑人巨大精品欧美一区二区| 国产成人高清精品一区二区三区| 国产人成精品午夜在线观看| 99精品国产高清一区二区麻豆| 国产精品自在线拍国产| 日韩av无码久久精品免费| 亚洲精品国产精品乱码不卞| 欧美日韩精品| 欧美精品一区二区久久| 欧美国产精品va在线观看| 精品欧美一区二区三区久久久 | 欧美精品成人3d在线| 国产一在线精品一区在线观看 | 成人午夜精品亚洲日韩| 国产精品爱搞视频网站 | 热99re久久国超精品首页| 久久久精品免费国产四虎| 精品午夜久久福利大片| 国产精品欧美亚洲韩国日本| 精品久久久久久国产91| 四虎成人www国产精品| 亚洲午夜精品一区二区| 国产精品激情综合久久|