当前位置: 首页>>代码示例>>PHP>>正文


PHP Queue::dequeue方法代码示例

本文整理汇总了PHP中Queue::dequeue方法的典型用法代码示例。如果您正苦于以下问题:PHP Queue::dequeue方法的具体用法?PHP Queue::dequeue怎么用?PHP Queue::dequeue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Queue的用法示例。


在下文中一共展示了Queue::dequeue方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testStructure

 public static function testStructure()
 {
     $queue = new Queue();
     if ($queue->getCount() !== 0) {
         self::printError("problem creating a new queue - count not 0");
     }
     // test enqueue
     $queue->enqueue(1);
     $queue->enqueue(2);
     $queue->enqueue(3);
     $queue->enqueue(4);
     $queue->enqueue(5);
     if ($queue->getCount() !== 5) {
         self::printError("problem enqueueing.  count not 5");
     }
     // display... for now
     $queue->display();
     // test dequeue
     $data = $queue->dequeue();
     if ($data !== 1) {
         self::printError("problem dequeueing. value not 1");
     }
     if ($queue->getCount() !== 4) {
         self::printError("problem dequeueing. count not 4");
     }
     $data = $queue->dequeue();
     $data = $queue->dequeue();
     $data = $queue->dequeue();
     $data = $queue->dequeue();
     if ($data !== 5) {
         self::printError("problem dequeueing. value not 5");
     }
     if ($queue->getCount() !== 0) {
         self::printError("problem dequeueing. count not 0");
     }
     // display... for now
     $queue->display();
 }
开发者ID:phlare,项目名称:utils,代码行数:38,代码来源:TestQueue.php

示例2: enqueue

        return $this->first == null;
    }
    public function enqueue($item)
    {
        $oldlast = $this->last;
        $this->last = new Node();
        $this->last->item = $item;
        $this->last->next = null;
        if ($this->isEmpty()) {
            $this->first = $this->last;
        } else {
            $oldlast->next = $this->last;
        }
    }
    public function dequeue()
    {
        $item = $this->first->item;
        $this->first = $this->first->next;
        if ($this->isEmpty()) {
            $this->last = null;
        }
        return $item;
    }
}
$list = new Queue();
$list->enqueue(1);
$list->enqueue(2);
$list->enqueue(3);
echo $list->dequeue();
echo $list->dequeue();
echo $list->dequeue();
开发者ID:eltonoliver,项目名称:Algorithms,代码行数:31,代码来源:queue.php

示例3: enqueue

     */
    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());
开发者ID:Baft,项目名称:Algorithm-and-Data-Structure-in-PHP,代码行数:31,代码来源:queue_using_class.php

示例4: enqueue

    protected $dataStore = [];
    public function enqueue($element)
    {
        array_push($this->dataStore, $element);
        parent::enqueue($element);
    }
    public function dequeue()
    {
        array_shift($this->dataStore);
        return parent::dequeue();
    }
    public function toString()
    {
        $retStr = "";
        $cnt = count($this->dataStore);
        for ($i = 0; $i < $cnt; ++$i) {
            $retStr .= $this->dataStore[$i] . "\n";
        }
        return $retStr . "\n";
    }
}
$users = ["Вася", "Петя", "Федя", "Саша", "Зина", "Маша"];
$q = new Queue();
foreach ($users as $user) {
    $q->enqueue($user);
}
echo "Кто в очереди:\n" . $q->toString();
echo $q->dequeue() . " вышел\n";
echo "Кто в очереди:\n" . $q->toString();
echo "Кто первый: " . $q->bottom() . "\n";
echo "Кто последний: " . $q->top() . "\n";
开发者ID:kapsilon,项目名称:Specialist,代码行数:31,代码来源:16-Queue.php

示例5: isFull

            return false;
        }
    }
    public function isFull()
    {
    }
}
$q = new Queue(5);
// instantiates the Queue class with a maxSize attribute of 5
$q->isEmpty();
// returns true
$q->enqueue(100);
// Queue: 100
$q->rear();
// returns 100
$q->front();
// returns 100
$q->enqueue(20);
// Queue: 100, 20
$q->enqueue(2);
// Queue: 100, 20, 2
$q->dequeue();
// Queue: 20, 2
$q->enqueue(500);
// Queue: 20, 2, 500
$q->enqueue(12);
// Queue: 20, 2, 500, 12
$q->enqueue(30);
// Queue: 20, 2, 500, 12, 30
$q->isFull();
// returns true
开发者ID:sourabhpal,项目名称:PHP,代码行数:31,代码来源:index.php

示例6: formCluster

 /**
  * Forms the clusters by removing maximum weighted edges.
  * performs breadth-first search to cluster the recipes.
  *
  * @param int $k queue size
  * @param int $size number of recipes.
  * @return array $cluster clusters of recipes.
  */
 function formCluster($k, $size)
 {
     $this->cluster_heap->top();
     $nodeQueue = new Queue($k);
     $cluster_count = $size * CLUSTER_RATIO;
     $cluster = array();
     /*
        Idea remove $cluster_count many weightiest edges from tree
        to get a forest. As do this add to queue end points of
        removed edges.
     */
     for ($j = 0; $j < $cluster_count - 1; $j++) {
         $max_edge = $this->cluster_heap->extract();
         $cluster1_start = $max_edge->getStartVertex()->getLabel();
         $cluster2_start = $max_edge->getEndVertex()->getLabel();
         $this->adjMatrix[$cluster1_start][$cluster2_start] = -1;
         $this->adjMatrix[$cluster2_start][$cluster1_start] = -1;
         $nodeQueue->enqueue($cluster1_start);
         $nodeQueue->enqueue($cluster2_start);
     }
     $queue = new Queue($k);
     $i = 0;
     // Now use Queue above to make clusters (trees in resulting forest)
     while (!$nodeQueue->isEmpty()) {
         $node = $nodeQueue->dequeue();
         if ($this->vertices[$node]->isVisited() == false) {
             $this->vertices[$node]->visited();
             $cluster[$i][] = $this->vertices[$node]->getLabel();
             $queue->enqueue($this->vertices[$node]->getLabel());
             while (!$queue->isEmpty()) {
                 $node = $queue->dequeue();
                 while (($nextnode = $this->getNextVertex($node)) != -1) {
                     $this->vertices[$nextnode]->visited();
                     $cluster[$i][] = $this->vertices[$nextnode]->getLabel();
                     $queue->enqueue($this->vertices[$nextnode]->getLabel());
                 }
             }
         }
         $i++;
     }
     return $cluster;
 }
开发者ID:yakar,项目名称:yioop,代码行数:50,代码来源:recipe_plugin.php


注:本文中的Queue::dequeue方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。