Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung zum Zusammenführen zweier sortierter verknüpfter Listen in PHP

Ausführliche Erklärung zum Zusammenführen zweier sortierter verknüpfter Listen in PHP

小云云
小云云Original
2018-01-20 09:22:181639Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum Zusammenführen zweier sortierter verknüpfter Listen in PHP vorgestellt, wobei die damit verbundenen Betriebsfähigkeiten von PHP zum Durchlaufen, Beurteilen und Sortieren anderer verknüpfter Listen berücksichtigt werden. Freunde, die sie benötigen, können darauf zurückgreifen.

Problem

Geben Sie zwei monoton ansteigende verknüpfte Listen ein und geben Sie die synthetisierte verknüpfte Liste der beiden verknüpften Listen aus. Natürlich benötigen wir die synthetisierte Eine verknüpfte Liste, die Monotone erfüllt, verringert die Regel nicht.

Lösung

Einfache Zusammenführungssortierung. Da die beiden Arrays von Natur aus wachsen, nehmen Sie jedes Mal einfach den kleineren Teil der beiden Arrays.

Implementierungscode


<?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;
}

Verwandte Empfehlungen:

JavaScript-Datenstruktur für die gemeinsame Nutzung von Beispielen für einfach verknüpfte Listen und zirkuläre verknüpfte Listen

PHP-Methode zum Abrufen des K-ten Knotens vom letzten in der Beispielfreigabe für verknüpfte Listen

PHP double Detailliertes Beispiel einer verknüpften Liste

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zum Zusammenführen zweier sortierter verknüpfter Listen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn