程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 使用PHP實現棧、隊列、最小堆和固定長度數組等常用數據結構

使用PHP實現棧、隊列、最小堆和固定長度數組等常用數據結構

編輯:PHP綜合

php的SPL提供了些數據結構基本類型的實現,雖然我們可以使用傳統的變量類型來描述數據結構,例如用數組來描述堆棧(Strack)然後使用對 應的方式 pop 和 push(array_pop()、array_push()),但你得時刻小心,因為畢竟它們不是專門用於描述數據結構的,一次誤操作就有可能破壞該堆 棧。而SPL的 SplStack 對象則嚴格以堆棧的形式描述數據,並提供對應的方法。同時,這樣的代碼應該也能理解它在操作堆棧而非某個數組,從而能讓你的同伴更好的理解相應的代碼,並 且它更快。 

 

棧的實現

$stack = new SplStack(); 
//入棧
$stack->push('a');
$stack->push('b');
//出棧
echo $stack->pop();
echo $stack->pop();

隊列的實現

$queue = new SplQueue();
//入隊列
$queue->enqueue('a');
$queue->enqueue('b');
$queue->enqueue('c');
//出隊列
echo $queue->dequeue();
echo $queue->dequeue(); 
echo $queue->dequeue();

最小堆的實現

$heap = new SplMinHeap();
//插入到堆
$heap->insert('a'); 
$heap->insert('b');
//從堆中提取數據
echo $heap->extract();
echo $heap->extract();

固定長度的數組

$array = new SplFixedArray(5);
$array[1] = 5;
var_dump($array);
*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved