字典和數(shù)組的區(qū)別 如何將兩個(gè)有序數(shù)組合并到一個(gè)有序數(shù)組中?
如何將兩個(gè)有序數(shù)組合并到一個(gè)有序數(shù)組中?這非常簡(jiǎn)單:代碼如下(我們不要考慮這里的對(duì)象,假設(shè)它是int:):public int[]getnewarrays(int[]one,int[]two){int
如何將兩個(gè)有序數(shù)組合并到一個(gè)有序數(shù)組中?
這非常簡(jiǎn)單:代碼如下(我們不要考慮這里的對(duì)象,假設(shè)它是int:):public int[]getnewarrays(int[]one,int[]two){intlen=one.lengthintlen2=兩個(gè). lengthintlen3=onelength twolength//get the sum of two array length int[]newarray=newint[len3]//創(chuàng)建第三個(gè)數(shù)組,length=sum of two array length for(inti=0I<len3i){if(I<len){//if I<len,賦值給元素newarray[I]=one[I]continue}intt=I-len//t從0開(kāi)始,newarray[i]=two[t]//將下列元素賦值給two中的元素}//逐個(gè)賦值給第三個(gè)數(shù)組,值為前兩個(gè)數(shù)組數(shù)組.排序(newarray)//使用Java提供的sort方法對(duì)第三個(gè)數(shù)組進(jìn)行排序//bubble sort也可以在字典無(wú)序的情況下使用。但是字典的存儲(chǔ)過(guò)程是有序的。
字典存儲(chǔ)背后的邏輯是哈希表,即稀疏數(shù)組。初始化dict后,Python解釋器將為dict分配一定的空間,并按順序?qū)⑵涮砑拥阶值渲小?/p>
但是,如果繼續(xù)向字典中添加新鍵,可能會(huì)導(dǎo)致Python解釋器擴(kuò)展存儲(chǔ)空間。擴(kuò)展過(guò)程將創(chuàng)建一個(gè)新的哈希表,然后將現(xiàn)有元素復(fù)制到新的哈希表中。這個(gè)過(guò)程可能會(huì)導(dǎo)致哈希沖突,導(dǎo)致dict的鍵值對(duì)順序的改變。
“Fluent Python”對(duì)字典存儲(chǔ)有更詳細(xì)的介紹。
如果您沒(méi)有解散名單,您可以查看信息。