PHP 데이터 구조 대기 열(SplQueue)과 우선 대기 열(SplPriorityQueue)은 인 스 턴 스 를 간단하게 사용 합 니 다.
PHP SPL 에서 SplQueue 류 는 대기 열 작업 을 실현 하 는 것 입 니 다.스 택 과 마찬가지 로 더 블 링크 목록(SplDoubly LinkedList)을 계승 하여 쉽게 실현 할 수 있 습 니 다.
SplQueue 클래스 요약 은 다음 과 같 습 니 다.
SplQueue 는 아래 와 같이 간단하게 사용 합 니 다:
$queue = new SplQueue();
/**
* IteratorMode , 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);
우선 대기 열 Spl Priority Queue 는 쌓 기(뒷글 소개)를 바탕 으로 이 루어 집 니 다.SplPriority Queue 의 클래스 요약 은 다음 과 같 습 니 다.
SplPriorityQueue 간단하게 사용:
$pq = new SplPriorityQueue();
$pq->insert('a', 10);
$pq->insert('b', 1);
$pq->insert('c', 8);
echo $pq->count() .PHP_EOL; //3
echo $pq->current() . PHP_EOL; //a
/**
*
* SplPriorityQueue::EXTR_DATA
* SplPriorityQueue::EXTR_PRIORITY
* SplPriorityQueue::EXTR_BOTH
*/
$pq->setExtractFlags(SplPriorityQueue::EXTR_DATA);
while($pq->valid()) {
print_r($pq->current()); //a c b
$pq->next();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.