PHP SPL標準ライブラリのデータ構造スタック(SplStock)の紹介


スタック(Stck)は、線形表の端にのみ要素を挿入または削除することができる特殊な線形表である。

SplStockとは、ダブルチェーン(SplDoulyLinkdList)を引き継いでスタックを実現することです。
クラスの要約は以下の通りです

簡単に次のように使います。

//            
$stack = new SplStack();
/**
 *             IteratorMode     ,  IteratorMode   :
 * (1)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_KEEP (   ,       )
 * (2)SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE (       )
 */
$stack->setIteratorMode(SplDoublyLinkedList::IT_MODE_LIFO | SplDoublyLinkedList::IT_MODE_DELETE);
$stack->push('a');
$stack->push('b');
$stack->push('c');
 
$stack->pop(); //  
 
$stack->offsetSet(0, 'first');//index  0        
 
foreach($stack as $item) {
 echo $item . PHP_EOL; // first a
}
 
print_R($stack); //  IteratorMode