日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

[PHP] 算法-合并两个有序链表为一个有序链表的PHP实现

發布時間:2025/4/5 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [PHP] 算法-合并两个有序链表为一个有序链表的PHP实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
合并兩個有序的鏈表為一個有序的鏈表: 類似歸并排序中合并兩個數組的部分 1.遍歷鏈表1和鏈表2,比較鏈表1和2中的元素大小 2.如果鏈表1結點大于鏈表2的結點,該結點放入第三方鏈表 3.鏈表1往下走一步,反之亦如此 4.當兩個鏈表中有一個結束了以后,另一個鏈表就可以全部放進第三方鏈表了list3 while list1!=null list2!=nullif list1->data >= list2->datalist3->next=list1list3=list1 //當前指針后移list1=list1->next //鏈表1走一步elselist3->next=list2list3=list2list2=list2->nextif list1!=nulllist3->next=list1 if list2!=nulllist3->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);

?

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的[PHP] 算法-合并两个有序链表为一个有序链表的PHP实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。