已采納回答 / 陳雷
網(wǎng)上的資料非常多, 我轉(zhuǎn)一篇http://www.cnblogs.com/wuyuegb2312/archive/2013/06/08/3126510.html? 你看看哈, 有問題可以一起探討。
2019-01-25
已采納回答 / 陳雷
問題一:$arr[2]取得值是‘a(chǎn)bc’還是‘bar’?? ? ? ? 使用$arr[2]取的值還是‘a(chǎn)bc’? 但是請注意,在底層的hashtable中,abc被放在第1個(gè)位置,當(dāng)我們通過$arr[2]取值的時(shí)候, h值是2,2|-8=-6 從前面的索...
2019-01-03
講師回答 / 陳雷
可以這么簡單的理解:1、對于key是數(shù)字的,就不用涉及到hash運(yùn)算,此時(shí)使用的是packed array; 當(dāng)然如果key的值較大,或者間隔較大,還是會退化成hash array。? packed array 能夠節(jié)省索引部分占用的內(nèi)存,是一個(gè)性能上的優(yōu)化;2、對于key是非數(shù)字的,必須用hash算法進(jìn)行計(jì)算出來它所在bucket的位置,那么索引數(shù)組是必不可少的,只能是hash array。這是底層的實(shí)現(xiàn),對于我們寫php代碼,需要關(guān)注的點(diǎn)是對于業(yè)務(wù)中的大數(shù)組,有沒有可能設(shè)計(jì)一些算法,讓它滿足packe...
最新回答 / weibo_雷神傷感_0
結(jié)構(gòu)體(使用關(guān)鍵字 struct),是C語言里的東西,C語言不是面向?qū)ο蟮摹語言發(fā)明時(shí)候,還沒有面向?qū)ο蟾拍睢:髞沓霈F(xiàn)語言C++,Java,C#等為標(biāo)準(zhǔn),你可以把結(jié)構(gòu)體和類(使用關(guān)鍵字class)對比起來。不難發(fā)現(xiàn),結(jié)構(gòu)體是公有的,數(shù)據(jù)和函數(shù)都可以被結(jié)構(gòu)體外函數(shù)使用。在現(xiàn)在軟件工程理論里,這被認(rèn)為是不規(guī)范。所以后期語言都有class,默認(rèn)私用。
2018-12-17
已采納回答 / 陳雷
是的? 初始的時(shí)候時(shí)候Packed Array的。 直接動(dòng)手實(shí)驗(yàn),很贊!