Une explication de la façon de fusionner deux listes chaînées triées en PHP

jacklove
Libérer: 2023-04-02 07:30:02
original
1412 Les gens l'ont consulté

Cet article présente principalement la méthode de fusion de deux listes chaînées triées en PHP, impliquant les compétences opérationnelles associées de PHP pour le parcours des listes chaînées, le jugement, le tri, etc. Les amis dans le besoin peuvent s'y référer

Cet article décrit les exemples PHP implémente la méthode de fusion de deux listes chaînées triées. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Problème

Entrez deux listes chaînées croissantes de manière monotone et affichez le résultat de combiner les deux listes chaînées Liste chaînée, bien sûr, nous avons besoin de la liste chaînée synthétisée pour satisfaire la règle monotone non décroissante.

Solution

Tri par fusion simple. Étant donné que les deux tableaux augmentent de manière inhérente, prenez simplement la plus petite partie des deux tableaux à chaque fois.

Code de mise en œuvre

<?php
/*class ListNode{
 var $val;
 var $next = NULL;
 function __construct($x){
  $this->val = $x;
 }
}*/
function Merge($pHead1, $pHead2)
{
 if($pHead1 == NULL)
  return $pHead2;
 if($pHead2 == NULL)
  return $pHead1;
 $reHead = new ListNode();
 if($pHead1->val < $pHead2->val){
  $reHead = $pHead1;
  $pHead1 = $pHead1->next;
 }else{
  $reHead = $pHead2;
  $pHead2 = $pHead2->next;
 }
 $p = $reHead;
 while($pHead1&&$pHead2){
  if($pHead1->val <= $pHead2->val){
   $p->next = $pHead1;
   $pHead1 = $pHead1->next;
   $p = $p->next;
  }
  else{
   $p->next = $pHead2;
   $pHead2 = $pHead2->next;
   $p = $p->next;
  }
 }
 if($pHead1 != NULL){
  $p->next = $pHead1;
 }
 if($pHead2 != NULL)
  $p->next = $pHead2;
 return $reHead;
}
Copier après la connexion

Vous pourriez ressentir Articles d'intérêt :

Explications connexes de la classe de fonctionnement en mode singleton mongoDB implémentée par PHP

Explication détaillée de la méthode d'exploitation de la base de données mongoDB avec tp5 (thinkPHP5)

Explication de la solution à la classe PHP SoapClient introuvable

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!