ホームページ >バックエンド開発 >PHPチュートリアル >PHPデータ構造キュー(SplQueue)とプライオリティキュー(SplPriorityQueue)の簡単な使用例、プライオリティキューデータ構造_PHPチュートリアル
キューは、私たちの生活におけるキューと同じように、より単純なデータ構造であり、その特徴は先入れ先出し (FIFO) です。 。
PHP SPL の SplQueue クラスは、スタックと同様に、SplDoublyLinkedList を継承することで簡単に実装できます。
SplQueue クラスの概要は次のとおりです:
SplQueue は次のように単純に使用されます:
コードをコピーします コードは次のとおりです:
$queue = 新しい SplQueue();
/**
* キューと二重リンク リストの違いは、スタックの IteratorMode が次のもののみに変更されることです。
* (1) SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_KEEP (デフォルト値、反復後にデータが保存されます)
* (2) SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_DELETE (反復後にデータが削除される)
*/
$queue->setIteratorMode(SplDoublyLinkedList::IT_MODE_FIFO | SplDoublyLinkedList::IT_MODE_DELETE);
//SplQueue::enqueue() は実際には SplDoublyLinkedList::push() です
$queue->enqueue('a');
$queue->enqueue('b');
$queue->enqueue('c');
//SplQueue::dequeue() は実際には SplDoublyLinkedList::shift() です
print_r($queue->dequeue());
foreach($queue as $item) {
echo $item .PHP_EOL;
}
print_r($queue);
SplPriorityQueueのクラス概要は以下の通りです:
SplPriorityQueue は使い方が簡単です:
れーれー