Hàm Ds\PriorityQueue::clear()
trong PHP được sử dụng để xóa tất cả các phần tử khỏi Hàng đợi ưu tiên (PriorityQueue). Khi gọi hàm này, mọi phần tử hiện tại trong Hàng đợi sẽ bị loại bỏ và sẽ trở thành trống. Việc sử dụng hàm sẽ giúp bạn quản lý tài nguyên hiệu quả và làm cho Hàng đợi sẵn sàng để chứa các phần tử mới một cách dễ dàng. Hãy cùng Vietnix tham khảo thêm về hàm Ds\PriorityQueue::clear()
trong PHP qua bài viết dưới đây.
Hàm Ds\PriorityQueue::clear() là gì?
Hàm Ds\PriorityQueue::clear()
trong PHP được sử dụng để xóa tất cả các phần tử khỏi một phiên bản PriorityQueue. Hàm này chỉ xóa trong phiên bản này mà không xóa chính nó.
Cú pháp | void public Ds\PriorityQueue::clear ( void ) |
Tham số | Hàm này không chấp nhận bất kỳ tham số nào. |
Giá trị trả về | Hàm này không trả về bất kỳ giá trị nào. |
Mọi người cũng xem:
Ví dụ minh hoạ hàm Ds\PriorityQueue::clear() trong PHP
Có thể ví dụ như sau:
class SimplePriorityQueue {
private $queue;
private $capacity;
public function __construct() {
$this->queue = [];
$this->capacity = 16;
}
public function push($value, $priority) {
$this->queue[] = ['value' => $value, 'priority' => $priority];
usort($this->queue, function ($a, $b) {
return $b['priority'] <=> $a['priority'];
});
}
public function pop() {
if ($this->isEmpty()) {
throw new UnderflowException("Queue is empty");
}
return array_shift($this->queue)['value'];
}
public function peek() {
if ($this->isEmpty()) {
throw new UnderflowException("Queue is empty");
}
return $this->queue[0]['value'];
}
public function isEmpty() {
return empty($this->queue);
}
public function count() {
return count($this->queue);
}
public function copy() {
$copyQueue = new SimplePriorityQueue();
foreach ($this->queue as $item) {
$copyQueue->push($item['value'], $item['priority']);
}
return $copyQueue;
}
public function clear() {
$this->queue = [];
}
public function allocate($additionalCapacity) {
$this->capacity += $additionalCapacity;
}
public function capacity() {
return $this->capacity;
}
public function toArray() {
$result = [];
foreach ($this->queue as $item) {
$result[] = $item['value'];
}
return $result;
}
}
Triển khai thành chương trình:
<?php
// insert your handmade ds class from here
$pq = new SimplePriorityQueue();
// Add elements to the PriorityQueue
$pq->push("Vietnix", 1);
$pq->push("Hosting", 2);
$pq->push("VPS", 3);
// Display the elements in the original queue
echo "\nOriginal elements:" . PHP_EOL;
while (!$pq->isEmpty()) {
echo $pq->pop() . PHP_EOL;
}
// Clear the queue
$pq->clear();
// Display the elements in the cleared queue
echo "\nCleared elements:" . PHP_EOL;
while (!$pq->isEmpty()) {
echo $pq->pop() . PHP_EOL;
}
?>
Output như sau:
Original elements: VPS Hosting Vietnix Cleared elements:
Ví dụ 2:
<?php
// insert your handmade ds class from here
$pq = new SimplePriorityQueue();
// Add elements to the PriorityQueue
$pq->push("First", 10);
$pq->push("Second", 20);
$pq->push("Third", 30);
// Display the elements in the original queue
echo "\nOriginal elements:" . PHP_EOL;
while (!$pq->isEmpty()) {
echo $pq->pop() . PHP_EOL;
}
// Clear the queue
$pq->clear();
// Display the elements in the cleared queue
echo "\nCleared elements:" . PHP_EOL;
while (!$pq->isEmpty()) {
echo $pq->pop() . PHP_EOL;
}
?>
Output trả về:
Original elements: Third Second First Cleared elements:
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về Ds\PriorityQueue::clear()
trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!