par
carte-sd » 14 févr. 2017, 12:22
Salut,
En fait j'ai compris mon erreur, elle provenait de la fonction compare() que je pensais optionnelle pour me servir de la classe comme un simple tas - je voulais m'en servir pour faire un task runner -.
Je post quand même la solution:
Code : Tout sélectionner
class myHeap extends SplHeap{
public function compare($a,$b){
if($a === $b):
return 0;
endif;
return $a < $b ? -1 : 1;
}
}
Quant à la classe SplStack elle n'a pas la même fonction, c'est plutôt un itérateur qui sert à utiliser un objet comme un tableau (d'où son implémentation de l'interface ArrayAccess).
Salut,
En fait j'ai compris mon erreur, elle provenait de la fonction compare() que je pensais optionnelle pour me servir de la classe comme un simple tas - je voulais m'en servir pour faire un task runner -.
Je post quand même la solution:
[code]
class myHeap extends SplHeap{
public function compare($a,$b){
if($a === $b):
return 0;
endif;
return $a < $b ? -1 : 1;
}
}
[/code]
Quant à la classe SplStack elle n'a pas la même fonction, c'est plutôt un itérateur qui sert à utiliser un objet comme un tableau (d'où son implémentation de l'interface ArrayAccess).