国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【SPL標(biāo)準(zhǔn)庫專題(6)】Datastructures:SplStack & SplQueu

TigerChain / 1211人閱讀

摘要:這兩個類都是繼承自,分別派生自的堆棧模式和隊(duì)列模式所以放在一起來介紹堆棧類摘要方法重寫了父類,固定為堆棧模式,然后此處只需要傳或者。

這兩個類都是繼承自SplDoublyLinkedList,分別派生自SplDoublyLinkedList的堆棧模式和隊(duì)列模式;所以放在一起來介紹;

堆棧SplStack

# 類摘要
SplStack extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
  /* 方法 */
  __construct(void)
  
  // 重寫了父類SplDoublyLinkedList,固定為堆棧模式,然后此處只需要傳IT_MODE_DELETE或者IT_MODE_KEEP。
  void setIteratorMode(int $mode )
 
  /* 繼承自SplDoublyLinkedList的方法 */
  ...
 }
//把棧想象成一個顛倒的數(shù)組
$stack = new SplStack();
/**
 * 可見棧和雙鏈表的區(qū)別就是IteratorMode改變了而已,棧的IteratorMode只能為:
 * (1)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP  (默認(rèn)值,迭代后數(shù)據(jù)保存)
 * (2)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE (迭代后數(shù)據(jù)刪除)
 */
$stack->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE);
$stack->push("a");
$stack->push("b");
$stack->push("c");
$stack->offsetSet(0, "first");//index 為0的是最后一個元素,后入后出
$stack->pop(); //出棧
foreach($stack as $item) {
  echo $item . PHP_EOL; // first a
}
print_R($stack); //測試IteratorMode
隊(duì)列SplQueue

 # 類摘要
 SplQueue extends SplDoublyLinkedList implements Iterator , ArrayAccess , Countable {
    /* 方法 */
    __construct ( void )
    
    // 出隊(duì)
    mixed dequeue ( void )
    
    // 入隊(duì)
    void enqueue ( mixed $value )
    
    // 重寫了父類SplDoublyLinkedList,固定為堆棧模式,然后此處只需要傳IT_MODE_DELETE或者IT_MODE_KEEP。
    void setIteratorMode ( int $mode )
    
    //其他繼承的方法
 }
$q = new SplQueue();

$q->setIteratorMode(SplQueue::IT_MODE_DELETE);

//可以放任何數(shù)據(jù)類型到隊(duì)列里面
$q->enqueue("item1");
//每次放入都是只占一個隊(duì)列的位置
$q->enqueue(array("FooBar", "foo"));
$q->enqueue(new stdClass());


$q->rewind();
while($q->valid()){
  print_r($q->current());
  echo "
";
  $q->next();
}

// 出隊(duì),先入先出,因?yàn)殛?duì)列為空,所以此處報(bào)錯;
$q->dequeue();

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/31536.html

相關(guān)文章

  • SPL標(biāo)準(zhǔn)專題(8)】DatastructuresSplHeap & SplMaxHe

    摘要:堆就是為了實(shí)現(xiàn)優(yōu)先隊(duì)列而設(shè)計(jì)的一種數(shù)據(jù)結(jié)構(gòu),它是通過構(gòu)造二叉堆二叉樹的一種實(shí)現(xiàn)。根節(jié)點(diǎn)最大的堆叫做最大堆或大根堆,根節(jié)點(diǎn)最小的堆叫做最小堆或小根堆。二叉堆還常用于排序堆排序。 堆(Heap)就是為了實(shí)現(xiàn)優(yōu)先隊(duì)列而設(shè)計(jì)的一種數(shù)據(jù)結(jié)構(gòu),它是通過構(gòu)造二叉堆(二叉樹的一種)實(shí)現(xiàn)。根節(jié)點(diǎn)最大的堆叫做最大堆或大根堆,根節(jié)點(diǎn)最小的堆叫做最小堆或小根堆。二叉堆還常用于排序(堆排序)。 showImg(...

    chadLi 評論0 收藏0
  • SPL標(biāo)準(zhǔn)專題(1)】SPL簡介

    摘要:什么是是標(biāo)準(zhǔn)庫的縮寫。根據(jù)官方定義,它是是用于解決典型問題的一組接口與類的集合。而的對象則嚴(yán)格以堆棧的形式描述數(shù)據(jù),并提供對應(yīng)的方法。返回所有已注冊的函數(shù)。 什么是SPL SPL是Standard PHP Library(PHP標(biāo)準(zhǔn)庫)的縮寫。 根據(jù)官方定義,它是a collection of interfaces and classes that are meant to solve...

    GeekGhc 評論0 收藏0
  • SPL標(biāo)準(zhǔn)專題(9)】DatastructuresSplFixedArray

    摘要:主要是處理數(shù)組相關(guān)的主要功能,與普通不同的是,它是固定長度的,且以數(shù)字為鍵名的數(shù)組,優(yōu)勢就是比普通的數(shù)組處理更快。類摘要方法導(dǎo)入數(shù)組,返回對象把對象數(shù)組導(dǎo)出為真正的數(shù)組由于是定長數(shù)組,所以超過定長就會拋出異常。 SplFixedArray主要是處理數(shù)組相關(guān)的主要功能,與普通php array不同的是,它是固定長度的,且以數(shù)字為鍵名的數(shù)組,優(yōu)勢就是比普通的數(shù)組處理更快。 類摘要 SplF...

    lindroid 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<