陣列特性之我見 陣列的鍊錶特性

2021-07-25 05:32:39 字數 841 閱讀 1218

定義乙個簡單的五維整型陣列 :int ppppp[2][2][2][2][2];

如右圖所示:

我在此處形象的用帶有「位址」和「名字」兩個屬性的「坑」來表示變數,我說陣列就是乙個「大坑」,這個「大坑」裡有層次的巢狀著一些「小坑」,而這些「小坑」和「大坑」之間是像鍊錶一樣,一環套一環的:

以上述5維陣列為例,從最小的「坑」開始講起,最小坑:ppppp[0][0][0][0][0]為乙個整形變數,這個「最小坑」裡盛放著乙個隨機的整形數,這個「最小坑」的名字屬性為:ppppp[0][0][0][0][0],這個「最小坑」的位址屬性為:&ppppp[0][0][0][0][0] = ppppp[0][0][0][0];

而ppppp[0][0][0][0]是乙個比「最小坑」ppppp[0][0][0][0][0]稍微大一點的坑,稱之為「二小坑」,這個坑里存放著「最小坑」的位址,pppppp[0][0][0][0][0],這個坑的名字屬性為:pppp[0][0][0][0],位址屬性為:& ppppp[0][0][0][0] = ppppp[0][0][0],而ppppp[0][0][0]又是比「二小坑」稍微大一點的「坑」,我們稱之為「三小坑」,這個「坑」的名字屬性為ppppp[0][0][0]盛放著二小坑的位址,位址屬性為&ppppp[0][0][0] = ppppp[0][0],此處不難發現「四小坑」ppppp[0][0]盛放著「三小坑」的位址,歸納一下可以清晰地看到多維陣列的「單鏈表」特性。

如下圖:

陣列 鍊錶 樹特性分析

1.陣列需要在記憶體中需要申請連續的記憶體空間。2.陣列可以通過下標的方式進行資料的獲取,所以陣列的查詢效率更快 3.增刪效率差,需要動態的擴容或者更改內容資料的複製 1.記憶體空間靈活,不需要連續的空間。2.增刪效率高只需要修改相連的兩個節點的位址即可 3.查詢效率低,不支援下標的訪問方式,支援順...

陣列的特性

固定儲存空間 在最初的設計層面上,陣列是依賴記憶體分配形成的,在使用陣列前必須先為它申請空間。這使得陣列這種資料結構具有了下面這樣的特性 1 乙個陣列佔據的儲存空間大小固定,不能改變 2 所佔據的儲存空間是專用的,不能被其他資訊佔據 3 所佔據的儲存空間是連續性的,中間不能間隔其他的資訊 4 陣列中...

php 陣列 鍵值 特性

key 可以是 integer 或者 string。value 可以是任意型別。此外 key 會有如下的強制轉換 包含有合法整型值的字串會被轉換為整型。例如鍵名 8 實際會被儲存為 8。但是 08 則不會強制轉換,因為其不是乙個合法的十進位制數值。浮點數也會被轉換為整型,意味著其小數部分會被捨去。例...