Maison  >  Article  >  développement back-end  >  PHP utilise deux piles pour implémenter les fonctions de file d'attente

PHP utilise deux piles pour implémenter les fonctions de file d'attente

小云云
小云云original
2018-01-16 13:37:131994parcourir

Cet article présente principalement la méthode PHP utilisant deux piles pour implémenter la fonction de file d'attente. Il analyse les idées et les compétences opérationnelles spécifiques de PHP basées sur les deux piles pour implémenter la fonction de file d'attente sous forme d'exemples. référez-vous à cela. J'espère que cela pourra aider tout le monde.

Problème

Utilisez deux piles pour implémenter une file d'attente afin de terminer les opérations Push et Pop de la file d'attente. Les éléments de la file d'attente sont de type int.

Idée de solution

Deux piles. Lorsque vous faites éclater la pile, si la pile 2 n'est pas vide, faites éclater la pile 2. Si la pile 2 est vide, retirez l'élément de la pile 1 et placez-le dans la pile 2.

Code d'implémentation

<?php
$arr1 = array();
$arr2 = array();
function mypush($node)
{
  array_push($arr1,$node);
}
function mypop()
{
  if(!empty($arr2)){
    return array_pop($arr2);
  }else{
    while(!empty($arr1)){
      array_push($arr2, array_pop($arr1));
    }
    return array_pop($arr2);
  }
}

Recommandations associées :

Partage d'exemples de fonctions de pile et de file d'attente basées sur un tableau PHP

Exemple d'analyse de fonction de file d'attente de fonctions asynchrones JS

Exemple d'implémentation de fonctions de pile et de file d'attente par Python (méthodes d'ajout et de pop basées sur des listes)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn