Пример #1
0
 public function testEverything()
 {
     $queue = new Queue();
     $this->assertTrue($queue->is_empty());
     $queue->push_back(1);
     $queue->push_back(2);
     $queue->push_back(3);
     $this->assertFalse($queue->is_empty());
     $this->assertEquals(1, $queue->pop_front());
     $this->assertEquals(2, $queue->pop_front());
     $this->assertEquals(3, $queue->pop_front());
     $this->assertTrue($queue->is_empty());
     $queue->push_back(4);
     $this->assertFalse($queue->is_empty());
     $this->assertEquals(4, $queue->pop_front());
     $in_cnt = 0;
     $out_cnt = 0;
     for ($i = 1; $i < 50; $i++) {
         for ($j = 0; $j < $i; $j++) {
             $queue->push_back($in_cnt);
             $in_cnt++;
         }
         $this->assertEquals($out_cnt, $queue->pop_front());
         $out_cnt++;
     }
     while (!$queue->is_empty()) {
         $this->assertEquals($out_cnt, $queue->pop_front());
         $out_cnt++;
     }
 }
     */
    public function enqueue($el)
    {
        array_push($this->_queue, $el);
    }
    /**
     * Dequeue the front element from the queue.
     *
     * @return mixed $element.
     */
    public function dequeue()
    {
        if ($this->front() !== null) {
            return array_shift($this->_queue);
        }
        return null;
    }
}
// Example usage:
$queue = new Queue();
$queue->enqueue("Element");
$queue->enqueue(23);
$queue->enqueue(array(3, 4, 6));
while (!$queue->is_empty()) {
    echo "The front element is now : \n";
    var_dump($queue->front());
    echo "\n";
    $queue->dequeue();
}
// Outputs NULL
var_dump($queue->front());