php數(shù)組與鏈表的區(qū)別可以從以下兩個(gè)方面來看:
一、從邏輯結(jié)構(gòu)來看
1、數(shù)組必須事先定義固定的長度(元素個(gè)數(shù)),不能適應(yīng)數(shù)據(jù)動(dòng)態(tài)地增減的情況。當(dāng)數(shù)據(jù)增加時(shí),可能超出原先定義的元素個(gè)數(shù);當(dāng)數(shù)據(jù)減少時(shí),造成內(nèi)存浪費(fèi);數(shù)組可以根據(jù)下標(biāo)直接存取。
相關(guān)免費(fèi)學(xué)習(xí)視頻教程分享:php視頻教程
2、鏈表動(dòng)態(tài)地進(jìn)行存儲(chǔ)分配,可以適應(yīng)數(shù)據(jù)動(dòng)態(tài)地增減的情況,且可以方便地插入、刪除數(shù)據(jù)項(xiàng)。(數(shù)組中插入、刪除數(shù)據(jù)項(xiàng)時(shí),需要移動(dòng)其它數(shù)據(jù)項(xiàng),非常繁瑣)鏈表必須根據(jù)next指針找到下一個(gè)元素。
二、從內(nèi)存存儲(chǔ)來看
1、(靜態(tài))數(shù)組從棧中分配空間, 對(duì)于程序員方便快速,但是自由度小。
2、鏈表從堆中分配空間, 自由度大但是申請(qǐng)管理比較麻煩 。
從上面的比較可以看出,如果需要快速訪問數(shù)據(jù),很少或不插入和刪除元素,就應(yīng)該用數(shù)組;相反, 如果需要經(jīng)常插入和刪除元素就需要用鏈表數(shù)據(jù)結(jié)構(gòu)了。
相關(guān)文章教程推薦:php教程