棧數據結構 隊列數據結構 堆數據結構 固定長度的數組數據結構 ...
棧數據結構
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無論有沒有使用,都會分配記憶體空間