La función SplPriorityQueue::compare() es una función incorporada en PHP que se usa para comparar los elementos de la cola de prioridad para colocarlos en un orden particular en la estructura de datos del montón.
Sintaxis:
int SplPriorityQueue::compare( mixed $priority1 , mixed $priority2 )
Parámetros: esta función acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:
- Priority1: este parámetro contiene la prioridad del primer Node que se compara.
- Priority2: este parámetro contiene la prioridad del segundo Node que se está comparando.
Valor devuelto: esta función devuelve el resultado de la función de comparación. Devuelve +ve entero si prioridad1 es mayor que prioridad2, 0 si ambas son iguales y -ve entero en caso contrario.
Ejemplo:
PHP
<?php // Declare a class class priorityQueue extends SplPriorityQueue { // Compare function to compare priority // queue elements public function compare($p1, $p2) { if ($p1 === $p2) return 0; return $p1 < $p2 ? -1 : 1; } } // Create an object of priority queue $obj = new priorityQueue(); // Insert elements into the queue $obj->insert("Geeks",2); $obj->insert("GFG",1); $obj->insert("G4G",3); $obj->insert('G',4); // Display the priority queue elements var_dump($obj); ?>
object(priorityQueue)#1 (3) { ["flags":"SplPriorityQueue":private]=> int(1) ["isCorrupted":"SplPriorityQueue":private]=> bool(false) ["heap":"SplPriorityQueue":private]=> array(4) { [0]=> array(2) { ["data"]=> string(1) "G" ["priority"]=> int(4) } [1]=> array(2) { ["data"]=> string(3) "G4G" ["priority"]=> int(3) } [2]=> array(2) { ["data"]=> string(5) "Geeks" ["priority"]=> int(2) } [3]=> array(2) { ["data"]=> string(3) "GFG" ["priority"]=> int(1) } } }
Referencia: https://www.php.net/manual/en/splpriorityqueue.compare.php
Publicación traducida automáticamente
Artículo escrito por AshokJaiswal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA