91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP標準庫SPL數據結構是什么

發布時間:2020-10-09 17:16:24 來源:億速云 閱讀:118 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關PHP標準庫SPL數據結構是什么的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

SPL提供了雙向鏈表、堆棧、隊列、堆、降序堆、升序堆、優先級隊列、定長數組、對象容器

SplQueue 隊列類

進出異端,先進先出

<?php$obj = new SplQueue();//插入一個節點到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
        )

)
*/復制代碼

SplStack 堆棧類

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

$obj = new SplStack();/**
SplStack Object
(
    [flags:SplDoublyLinkedList:private] => 6
    [dllist:SplDoublyLinkedList:private] => Array
        (
        )

)
*///向堆棧放入一個節點到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節點靠近bottom位置的相鄰節點$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節點,而雙向鏈表的rewind指向bottom節點$obj->rewind();//堆棧的next是使指針向bottom方向相鄰的節點移動一位,而鏈表是向top方向移動$obj->next();//遍歷堆棧$obj->rewind();while($obj->valid()){    echo $obj->key().'=>'.$obj->current();
    $obj->next();
}/**
2=>'C'
1=>'B'
0=>1
*///從堆棧中取出top位置的節點并刪除$obj->pop();復制代碼

SplDoublyLinkedList 雙向鏈表類

$obj = new SplDoublyLinkedList();//SplDoublyLinkedList Object ( [flags:SplDoublyLinkedList:private] => 0 [dllist:SplDoublyLinkedList:private] => Array ( ) )//把新的節點數據添加到鏈表的頂部Top$obj->push(1);
$obj->push(2);
$obj->push(3);//把新的節點數據添加到鏈表底部bottom$obj->unshift(4);/**
SplDoublyLinkedList Object
(
    [flags:SplDoublyLinkedList:private] => 0
    [dllist:SplDoublyLinkedList:private] => Array
        (
            [0] => 4
            [1] => 1
            [2] => 2
            [3] => 3
        )

)
*///在沒有調用rewind()方法之前輸出為nullecho 'current'.$obj->current();//輸出: null//把指針指向bottom節點$obj->rewind();//獲取當前指針指向的節點$obj->current();//輸出: 4//將執行挪到下一個$obj->next();
$obj->current();//輸出: 1$obj->prev();
$obj->current();//輸出: 4//越界了$obj->next();
$obj->next();
$obj->next();
$obj->next();
$obj->current();//輸出: null//判斷當前節點是否有效$obj->valid()//輸出: false$obj->prev();
$obj->valid()//輸出: true$obj->shift();//把top節點從鏈表中刪除并返回$obj->pop();//輸出 3//把bottom節點從鏈表中刪除并返回$obj->shift();//輸出 4//返回top節點$obj->top();//返回bottom節點$obj->bottom();復制代碼

感謝各位的閱讀!關于PHP標準庫SPL數據結構是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

浠水县| 布拖县| 奉节县| 会泽县| 湘阴县| 简阳市| 福鼎市| 宁南县| 海林市| 黔西| 上蔡县| 南汇区| 同心县| 莒南县| 银川市| 泰来县| 敦化市| 本溪| 沧源| 连山| 靖边县| 宁河县| 临漳县| 呼伦贝尔市| 韶关市| 胶南市| 禹州市| 平和县| 张家川| 怀安县| 奇台县| 大邑县| 安吉县| 乐亭县| 噶尔县| 广饶县| 赤城县| 洛宁县| 沧州市| 枣阳市| 昆明市|