PHP标准库:栈、堆、队列、定长数组

  • 栈:先进后出
$stack = new SplStack(); //栈 先进后出,后进先出
$stack->push("data1\n");
$stack->push("data2\n");

echo $stack->pop(); #data2
echo $stack->pop(); #data1
  • 堆 (不了解)
$dui = new SplMinHeap(); //堆
$dui->insert("data1\n");
$dui->insert("data2\n");

echo $dui->extract(); #data1
echo $dui->extract(); #data2
  • 队列 先进先出
$queue = new SplQueue(); //队列 先进先出
$queue->enqueue("data1\n"); //入队
$queue->enqueue("data2\n");
echo $queue->dequeue(); #data1
echo $queue->dequeue(); #data2
  • 固定长度数组
$array = new SplFixedArray(10); // 固定长度数组
//固定尺寸无论是否使用,都会分配内存空间。
$array[0] = 1;
$array[9] = 9;
unset($array[9]);
var_dump($array);
// object(SplFixedArray)#2 (10) {
//   [0]=>
//   int(1)
//   [1]=>
//   NULL
//   [2]=>
//   NULL
//   [3]=>
//   NULL
//   [4]=>
//   NULL
//   [5]=>
//   NULL
//   [6]=>
//   NULL
//   [7]=>
//   NULL
//   [8]=>
//   NULL
//   [9]=>
//   NULL
// }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数组 1、数组存储的数据在地址空间上是连续的。2、方便数据的查找,查找数据的时间复杂度为O(1)。 链表 1、链表...
    LittleTrue阅读 6,028评论 0 0
  • 栈:如何实现浏览器的前进和后退功能? 浏览器的前进、后退功能,我想你肯定很熟悉吧? 当你依次访问完一串页面 a-b...
    GhostintheCode阅读 4,402评论 0 2
  • 饱领风霜数十年, 鄂轴厂内共悲欢。 青春许企酬恩泽, 破产归田谋生艰。 回顾平生无愧怍, 确因得失费思牵。 进了机...
    黄晓红阅读 1,085评论 0 4
  • 雨后的清晨,空气中弥漫着泥土的清香,在雨水的浸润下,绿叶愈发地苍翠了;踏着湿漉漉的地板,漫步微风中,蓦然回...
    歆弦阅读 3,034评论 0 3
  • 今天过得怎么样啊,我的朋友。最近发现我的记忆力成直线下降的趋势了,如果你发现我说过些以前说过许多遍的话,或者写过的...
    巴图鲁阅读 2,695评论 0 2