栈数据结构
1 $stack = new SplStack(); //栈数据结构->先进后出
2 $stack->push('data1'); //入栈
3 $stack->push('data2'); //入栈
4 echo $stack->pop(); //出栈->data2
5 echo $stack->pop(); //出栈->data1
队列数据结构
1 $queue = new SplQueue(); //队列数据结构->先进先出
2 $queue->enqueue('data1'); //入列
3 $queue->enqueue('data2'); //入列
4 echo $queue->dequeue(); //出列->data1
5 echo $queue->dequeue(); //出列->data2
堆数据结构
1 $heap = new SplMinHeap(); //堆数据结构
2 $heap->insert('data1'); //存放
3 $heap->insert('data2'); //存放
4 echo $heap->extract(); //取出->data1
5 echo $heap->extract(); //取出->data2
固定长度的数组数据结构
1 $array = new SplFixedArray(10); //固定长度的数组数据结构,声明长度为10
2 $array[0] = 0;
3 $array[9] = 9;
4 var_dump($array);
5 //object(SplFixedArray)#1 (10) { [0]=> int(0) [1]=> NULL [2]=> NULL [3]=> NULL [4]=> NULL [5]=> NULL [6]=> NULL [7]=> NULL [8]=> NULL [9]=> int(9) }
6 //下标1-8无论有没有使用,都会分配内存空间
数据结构中的堆和栈
堆栈是两种数据结构:堆和栈
堆和栈都是一种数据项按序排列的数据结构
栈: 后进先出(先进后出)性质的数据结构
堆:先进后出