ホームページ  >  記事  >  バックエンド開発  >  PHP は、スタック、キュー、最小ヒープ、固定長配列などの一般的なデータ構造を実装します。

PHP は、スタック、キュー、最小ヒープ、固定長配列などの一般的なデータ構造を実装します。

WBOY
WBOYオリジナル
2016-06-20 13:02:231416ブラウズ

PHP の SPL は、基本的なデータ構造型の実装をいくつか提供していますが、たとえば、配列を使用してスタック (Strack) を記述し、対応するポップおよびプッシュ (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);


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。