Le contenu de cet article explique comment fusionner deux listes chaînées ordonnées en une seule liste chaînée ordonnée (code) en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. . a aidé.
Fusionner deux listes chaînées ordonnées en une seule liste chaînée ordonnée :
Similaire à la partie de fusion de deux tableaux dans le tri par fusion
Parcourez la liste chaînée 1 et la liste chaînée 2, comparez les listes chaînées 1 et. 2 La taille des éléments dans
2. Si le nœud de la liste chaînée 1 est plus grand que le nœud de la liste chaînée 2, le nœud est mis dans la liste chaînée tierce
3. liste chaînée 1, et vice versa
4. Quand Après la fin de l'une des deux listes chaînées, l'autre liste chaînée peut être placée dans la liste chaînée tierce
list3 while list1!=null list2!=null if list1->data >= list2->data list3->next=list1 list3=list1 //当前指针后移 list1=list1->next //链表1走一步 else list3->next=list2 list3=list2 list2=list2->next if list1!=null list3->next=list1 if list2!=null list3->next=list2
$linkList=new Node(); $linkList->next=null; $temp=$linkList; for($i=1;$i<=10;$i+=2){ $node=new Node(); $node->data=$i; $node->next=null; $temp->next=$node; $temp=$node; } //第二个有序的链表 $list2=new Node(); $temp=$list2; for($i=2;$i<=10;$i+=2){ $node=new Node(); $node->data=$i; $node->next=null; $temp->next=$node; $temp=$node; } //合并两个链表 $newlist=new Node(); $list1=$linkList->next;//跳过头结点 $list2=$list2->next; $list3=$newlist;//一定要赋予给这个临时结点,否则新结点前移的时候就会被覆盖 while($list1!=null && $list2!=null){ if($list1->data<=$list2->data){ $list3->next=$list1;//新链表指向链表1结点 $list3=$list1;//新链表当前结点往前移动 $list1=$list1->next;//链表1往前移动 }else{ $list3->next=$list2; $list3=$list2; $list2=$list2->next; } } if($list1!=null){ $list3->next=$list1; } if($list2!=null){ $list3->next=$list2; } var_dump($newlist);
Recommandations associées. :
PHP réalise la fusion des deux partage de code de listes chaînées triées
Explication détaillée de la fusion de deux listes chaînées triées en PHP
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!