PHP 큐

이 논문은 원칙적으로 PHP 큐와 큐 기반 쓰기 파일 케이스의 예를 설명합니다. 다음과 같이 참조 용으로 공유 :

큐가 직선 형태로되면, FIFO 원리에 따라 수행 :

팀 속으로 :

 

팀 :

PHP 큐 : 팀 머리로 첫 번째 요소, 꼬리의 마지막 요소로

 

$array = array('PHP', 'JAVA');
array_push($array, 'PYTHON'); //入队列
array_shift($array); //出队列

스택, 큐

스택 만 데이터 항목에 액세스 할 수 있습니다 : 삽입 된 마지막 데이터 항목, 등등 액세스 데이터 항목의 끝에서 두 번째 삽입을 데이터 항목을 제거하고 후.
다소 유사한 스택 하지만에서 큐에 제 1 데이터 항목의은에있는 동안 (FIFO는 FIFO)을 제거 할 수있는 제 삽입되어 적층 마지막 데이터 항목이 상기 제 제거 (LIFO)에 삽입된다. 스택 프로그래머 등은 도구로 사용된다. 또한 아날로그 사람들이 은행에서 라인에서 기다리고로, 실제 환경을 시뮬레이션 할 수 있습니다

이중 종료 큐 (또는 양방향 큐) 란 무엇입니까?

우리가 insertLeft ()와 insertRight ()가 호출이 방법을 넣어 removeLeft ()와 removeRight () 경우 그 요소는 팀 또는 팀의 기간에 큐에있을 수있다. 통화 엄격히 insertLeft () 및 removeLeft () 메소드를 금지 (또는 우측 부분의 동작을 해제)과 같은 스택 큐 기능을 더블 엔디드 경우. 금지 호출 insertLeft () 및 removeRight () (또는 다른 방법의 반대)와 동일한 대기열을 특징으로한다. 스택 또는 큐 양단에 비해 데이터 구조는 다용도.

양단 큐 이름은 그 두 끝을 가지고, 제안 그것의 끝, 일반 큐는 두 끝, 하나의 입력과 하나 개의 출력을 가지고 무엇을. 양단은 양단하지만, 입력 및 출력 될 수의 양단이있다 :

  큐의 어떤 이점이 많은, 우선 그 밖의 각 세그먼트에 맞지 않을 수도있다, 만약 전용으로 타단 밖으로 나눠 의해 그의 역할은 그것이 하나의 입력 및 출력 단자 인 경우, 큐는 동일 그래서 그와 스택 효과는 동일합니다.

PHP 구현 양단 큐


class Deque
{
  public $queue = array();
  /**(尾部)入队 **/
  public function addLast($value)
  {
    return array_push($this->queue,$value);
  }
  /**(尾部)出队**/
  public function removeLast()
  {
    return array_pop($this->queue);
  }
  /**(头部)入队**/
  public function addFirst($value)
  {
    return array_unshift($this->queue,$value);
  }
  /**(头部)出队**/
  public function removeFirst()
  {
    return array_shift($this->queue);
  }
  /**清空队列**/
  public function makeEmpty()
  {
    unset($this->queue);
  }
  /**获取列头**/
  public function getFirst()
  {
    return reset($this->queue);
  }
  /** 获取列尾 **/
  public function getLast()
  {
    return end($this->queue);
  }
  /** 获取长度 **/
  public function getLength()
  {
    return count($this->queue);
  }
}

실제 사용시,도 양방향 출력 큐가 제한 될 수있다 (삽입과 삭제가 엔드 포인트를 허용 즉 다른 포인트 만 양방향 큐 삽입 할 수 있음)와 양방향 입력 큐가 제한된다 (즉, 삽입 및 삭제 또, 엔드 포인트를 허용 엔드 포인트는 큐가 삭제 양방향) 할 수 있습니다. 끝점 요소로부터 삽입 제한 양방향 대기열 만 포인트에서 삭제 될 경우, 스택의 바닥에있는 양방향 큐 개의 인접 스택 업으로 변환.

용도 :

비동기 대기열은 물론 데이터가 데이터베이스에 데이터를 삽입 할 때 자주 자주 검색 엔진에 제출 데이터 큐 삽입 비동기 적으로 수행 될 수있는, 저장되어 처리 될 수있다. 또한, 프로세싱 로직 것은 느려질 수 있고, 이러한 추천 FLV 비디오 변환, 전송 SMS, 전자 메일과 같은 배경에서 상기 메시지 큐 처리에 의해 동시에 처리 로직의 수에 제한이있다.

 

게시 10 개 원래 기사 · 원 찬양 한 · 전망 5232

추천

출처blog.csdn.net/qq_27702329/article/details/104841154