Maison >développement back-end >tutoriel php >Exemple de partage de fonctions de pile et de file d'attente implémentées en PHP basé sur des tableaux

Exemple de partage de fonctions de pile et de file d'attente implémentées en PHP basé sur des tableaux

小云云
小云云original
2018-01-11 10:34:182299parcourir

Cet article présente principalement les fonctions de pile et de file d'attente de PHP basées sur des tableaux, et analyse les fonctions array_push(), array_pop(), array_shift() basées sur des tableaux de PHP et d'autres fonctions basées sur des tableaux pour implémenter le push et le pop des piles et les files d'attente. Les amis dans le besoin peuvent se référer aux compétences opérationnelles associées telles que l'ajout et la suppression de files d'attente. J'espère que cela pourra aider tout le monde.

La pile et la file d'attente sont deux formes d'implémentation de structures de données et sont des conteneurs très largement utilisés pour stocker des données. Parlons ensuite de l'application de ces deux conteneurs en PHP :

1 Utiliser des tableaux pour implémenter la pile :

1. un conteneur de pile, la dernière chose insérée dans la pile sera extraite en premier, ce qu'on appelle la structure de données « premier entré, dernier sorti ».

2. En PHP, le tableau est traité comme une pile. Vous pouvez utiliser la fonction array_push() ou "$array[]=$value" pour terminer l'opération de pile, et utiliser la fonction array_pop() pour compléter la pile. opération.

3. L'opération push de la pile équivaut à : placer les données une par une dans un conteneur en forme de seau (en supposant que les données et le seau ont la surface appropriée, c'est-à-dire qu'ils peuvent simplement s'insérer horizontalement), ce qui signifie qu'une fois toutes les données placées dans la pile, la première se trouve en bas.

4. Exemple de placement d'un tableau sur la pile :


<?php
   $mypara = array("para1");
   echo(array_push($mypara,"para2"));  //添加一个数据到mypara数组
   print_r($mypara);
   $mypara1=array("a"=>"para11","b"=>"para12");
   echo array_push($mypara1,"para13","para14");
    print_r($mypara1);  //Array([a] => para11 [b] => para12 [0] => para13 [2] => para14)
   $mypara1["c"] = "para15";  //以“$array[]=$value”形式添加
   print_r ($mypara1); //Array([a] => para11 [b] => para12 [0] => para13 [2] => para14 [c] => para15)
?>

Exemple de placement d'un tableau sur la pile :


<?php
   $mypara = array("para1","para2","para3","para4");
   echo array_pop($mypara); //将最后的元素返回被删除的值弹出,输出PHP
  print_r($mypara); //Array([0] => para1 [1]=>para2 [2]=>para3)
?>

2. Utilisez des tableaux pour implémenter des files d'attente :

1. Dans la structure des données, les files d'attente et les piles. sont différents et suivent le principe du « premier entré, premier sorti ».

2. Comprenez l'exemple de la file d'attente, tout comme une aiguille de perfusion, le liquide qui pénètre dans le tube fin entre en premier dans le corps humain.

3. En PHP, traitez le tableau comme une file d'attente. Vous pouvez utiliser la fonction array_push() ou "$array[]=$value" pour terminer l'opération d'ajout de données, et utiliser la fonction array_shift() pour compléter les données. opération de suppression.

4. Exemple de suppression de données de file d'attente d'un tableau :


<?php
   $mypara = array("a"=>"para1","b"=>"para2","c"=>"para3");
   echo array_shift($mypara);
   print_r($mypara);
?>

5. Remarque : PHP fournit également une autre méthode pour insérer un ou depuis le début. du tableau de file d'attente. S'il y a plusieurs éléments, la fonction renverra le nombre d'éléments insérés si elle est exécutée avec succès. Le format est le même que la fonction array_push(). Autrement dit, vous pouvez utiliser la fonction array_unshift() et la fonction array_shift() pour effectuer des opérations de file d'attente.

Recommandations associées :

Explication détaillée de l'implémentation basée sur la pile PHP des fonctions de calculatrice avancées

Analyse des problèmes de pile dans Js

Introduction aux méthodes de pile de simulation

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