《PHP學(xué)習(xí):PHP鏈表操作簡單示例》要點(diǎn):
本文介紹了PHP學(xué)習(xí):PHP鏈表操作簡單示例,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP應(yīng)用本文實(shí)例講述了PHP鏈表操作.分享給大家供大家參考,具體如下:
PHP應(yīng)用在php中運(yùn)行數(shù)據(jù)結(jié)構(gòu),基本都是用數(shù)組模擬的,只是用一直思想而已.
PHP應(yīng)用今天遇到的這個問題是,兩個鏈表進(jìn)行合并.
PHP應(yīng)用
PHP應(yīng)用鏈表合并效果圖
PHP應(yīng)用問題描述:A鏈表是模版鏈表,B鏈表的長度不確定,A,B二個鏈表結(jié)合后形成C鏈表.
PHP應(yīng)用說一下編程思想:A鏈表是模版鏈表所以在運(yùn)算完成了,長度了唯一不變的.而B鏈表的長度是不確定的.所以可以先對B鏈表進(jìn)行判斷,分了三步:
PHP應(yīng)用B鏈表是不是為空
B鏈表是不是比A鏈表短或者相等
B鏈表是不是比A鏈表長
PHP應(yīng)用編程就是要列出盡可能的可能性.抓住變量,由于題目要求,當(dāng)A鏈表和B鏈表相等時,直接返回B鏈表,所以不用考慮這個問題.
PHP應(yīng)用
$node = array(
"nameid"=>"",
"shoolid"=>" ",
"depid"=>" ",
"start"=>" ",
"end"=>" "
);
/*
現(xiàn)在上面數(shù)據(jù),有的數(shù)據(jù)存在A鏈表里面,有的存在B鏈表里面,如果都沒有,用A鏈表的數(shù)據(jù)節(jié)點(diǎn)來代替.
開始第一次完成的時候,想了一個很蛋痛的方式,還用到arra_diff()函數(shù)用這個鏈表作差.后來仔細(xì)思考了一下.
*/
//$data 表示B鏈表
//$time 表示A鏈表
//這里為了節(jié)約資源,沒開第三條鏈表,而是在B鏈表中操作,為什么要選一條不確定長度的鏈表
//看完你就知道為什么了
if(empty($data)) //
{
//申請節(jié)點(diǎn)
$data = array();
foreach($time as $value)
{
//將A鏈表的數(shù)據(jù)進(jìn)行需求處理,組成我們需要的節(jié)點(diǎn)模式
$array = array("nameid"=>$value["id"],"depid"=>$depid,"schoolid"=>$schoolid,"start"=>"","end"=>"");
array_push($data,$array); //將新節(jié)點(diǎn)壓進(jìn)棧
}
}
else if(count($data)<=count($time)) //進(jìn)行長度對比
{
for($i=0;$i<count($time);$i++) //for循環(huán),不建議在for循環(huán)繼續(xù)動態(tài)判斷,我這里是偷懶了.
{
if(empty($data[$i]))
{
//如果數(shù)據(jù)節(jié)點(diǎn)空,則構(gòu)建節(jié)點(diǎn)
$array = array("nameid"=>$time[$i]["id"],"depid"=>$depid,"schoolid"=>$schoolid,"start"=>"","end"=>"");
array_push($data,$array);
}
}
}
PHP應(yīng)用上面的算法就簡單的實(shí)習(xí)了,將A鏈表的數(shù)據(jù),和B的數(shù)據(jù)組合.
PHP應(yīng)用更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php操作office文檔技巧總結(jié)(包括word,excel,access,ppt)》、《php日期與時間用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
PHP應(yīng)用希望本文所述對大家PHP程序設(shè)計(jì)有所幫助.
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/3041.html