PHP鏈表操作簡單示例
本文實例講述了PHP鏈表操作。分享給大家供大家參考,具體如下:
在php中運行數(shù)據結構,基本都是用數(shù)組模擬的,只是用一直思想而已。
今天遇到的這個問題是,兩個鏈表進行合并。
鏈表合并效果圖
問題描述:A鏈表是模版鏈表,B鏈表的長度不確定,A,B二個鏈表結合后形成C鏈表。
說一下編程思想:A鏈表是模版鏈表所以在運算完成了,長度了唯一不變的。而B鏈表的長度是不確定的。所以可以先對B鏈表進行判斷,分了三步:
B鏈表是不是為空
B鏈表是不是比A鏈表短或者相等
B鏈表是不是比A鏈表長
編程就是要列出盡可能的可能性。抓住變量,由于題目要求,當A鏈表和B鏈表相等時,直接返回B鏈表,所以不用考慮這個問題。
$node = array( "nameid"=>"", "shoolid"=>" ", "depid"=>" ", "start"=>" ", "end"=>" " ); /* 現(xiàn)在上面數(shù)據,有的數(shù)據存在A鏈表里面,有的存在B鏈表里面,如果都沒有,用A鏈表的數(shù)據節(jié)點來代替。 開始第一次完成的時候,想了一個很蛋痛的方式,還用到arra_diff()函數(shù)用這個鏈表作差。后來仔細思考了一下。 */ //$data 表示B鏈表 //$time 表示A鏈表 //這里為了節(jié)約資源,沒開第三條鏈表,而是在B鏈表中操作,為什么要選一條不確定長度的鏈表 //看完你就知道為什么了 if(empty($data)) // { //申請節(jié)點 $data = array(); foreach($time as $value) { //將A鏈表的數(shù)據進行需求處理,組成我們需要的節(jié)點模式 $array = array("nameid"=>$value["id"],"depid"=>$depid,"schoolid"=>$schoolid,"start"=>"","end"=>""); array_push($data,$array); //將新節(jié)點壓進棧 } } else if(count($data)<=count($time)) //進行長度對比 { for($i=0;$i<count($time);$i++) //for循環(huán),不建議在for循環(huán)繼續(xù)動態(tài)判斷,我這里是偷懶了。 { if(empty($data[$i])) { //如果數(shù)據節(jié)點空,則構建節(jié)點 $array = array("nameid"=>$time[$i]["id"],"depid"=>$depid,"schoolid"=>$schoolid,"start"=>"","end"=>""); array_push($data,$array); } } }
上面的算法就簡單的實習了,將A鏈表的數(shù)據,和B的數(shù)據組合。
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數(shù)據結構與算法教程》、《PHP運算與運算符用法總結》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數(shù)據庫操作入門教程》及《php常見數(shù)據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
PHP中date()日期函數(shù)有關參數(shù)整理
PHP中date()日期函數(shù)有關參數(shù)整理,需要的朋友可以參考下。2011-07-07如何用PHP websocket實現(xiàn)網頁實時聊天
websocket作為HTML5里一個新的特性一直很受人關注,因為它真的非??幔蚱屏薶ttp“請求-響應”的常規(guī)思維,實現(xiàn)了服務器向客戶端主動推送消息,本文介紹如何使用PHP和JS應用websocket實現(xiàn)一個網頁實時聊天室。2021-05-05PHP+Mysql基于事務處理實現(xiàn)轉賬功能的方法
這篇文章主要介紹了PHP+Mysql基于事務處理實現(xiàn)轉賬功能的方法,實例分析了mysql事務處理的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07thinkphp中多表查詢中防止數(shù)據重復的sql語句(必看)
下面小編就為大家?guī)硪黄猼hinkphp中多表查詢中防止數(shù)據重復的sql語句(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09PHP實現(xiàn)更新中間關聯(lián)表數(shù)據的兩種方法
這篇文章主要介紹了PHP實現(xiàn)更新中間關聯(lián)表數(shù)據的兩種方法,在進行多表操作時比較有參考價值,需要的朋友可以參考下2014-09-09