陣列(arrays)和連結列表(linked lists)的區別

陣列是儲存元素集合的最常用的資料結構。大多數程式語言都提供了方法來輕鬆地宣告陣列和訪問陣列中的元素。連結串列,更確切地說是單鏈表,也是一種可以用來儲存元素集合的資料結構。它由一系列節點組成,每個節點都有對序列中下一個節點的引用。...

數組與鏈接列表

數組是存儲元素集合的最常用的數據結構。大多數編程語言都提供了方法來輕鬆地聲明數組和訪問數組中的元素。鏈表,更確切地說是單鏈表,也是一種可以用來存儲元素集合的數據結構。它由一系列節點組成,每個節點都有對序列中下一個節點的引用。

如圖1所示,是一段代碼,通常用於聲明並向數組賦值。圖2描述了數組在內存中的樣子。

數組(arrays)和鏈接列表(linked lists)的區別

上面的代碼定義了一個可以存儲5個整數的數組,並使用索引0到4訪問它們。數組的一個重要屬性是整個數組被分配為一個內存塊,每個元素在數組中都有自己的空間。一旦定義了數組,它的大小就固定了。因此,如果在編譯時不確定數組的大小,那麼就必須定義一個足夠大的數組來保證安全。但是,在大多數情況下,我們實際使用的元素數量少於我們分配的數量。所以相當多的內存實際上被浪費了。另一方面,如果“足夠大的數組”實際上不夠大,程序就會崩潰。

鏈表在它自己的內存塊中將內存分別分配給它的元素,通過將這些元素作為鏈中的鏈接鏈接來獲得整體結構。圖3中的每個字段都有兩個鏈接的列表元素。數據字段保存存儲的實際數據,下一個字段保存對鏈中下一個元素的引用。鏈接列表的第一個元素存儲為鏈接列表的頭。

數據 下一個

圖3:鏈表的元素

數組(arrays)和鏈接列表(linked lists)的區別

圖4描述了一個包含三個元素的鏈表。每個元素存儲其數據,除最後一個元素外的所有元素都存儲對下一個元素的引用。最後一個元素的下一個字段中包含一個空值。列表中的任何元素都可以通過從開頭開始並跟隨下一個指針來訪問,直到滿足所需的元素為止。

  • 發表於 2020-11-05 09:04
  • 閱讀 ( 38 )
  • 分類:科技

你可能感興趣的文章

遺傳圖譜(genetic map)和聯動圖(linkage map)的區別

遺傳圖譜和連鎖圖譜的關鍵區別在於作圖過程中使用的基因型別。遺傳圖譜由特定染色體上的所有基因組成,而連鎖圖譜則由特定染色體上的連鎖基因組成。 遺傳圖和連鎖圖是兩種顯示染色體上基因的染色體圖。遺傳圖顯示...

  • 發佈於 2020-10-16 03:35
  • 閲讀 ( 60 )

for迴圈(for loop)和foreach迴圈(foreach loop)的區別

...控制結構,而foreach迴圈是一種增強的for迴圈,只適用於陣列和集合。 目錄 1. 概述和主要區別 2. 什麼是迴圈 3. 什麼是foreach迴圈 4. for迴圈與foreach迴圈的相似性 5. 並排比較-表格形式的for迴圈與foreach迴圈 6. 摘要 什麼是for迴圈(for ...

  • 發佈於 2020-10-19 07:26
  • 閲讀 ( 82 )

選中的(checked)和java中的未檢查異常(unchecked exception in java)的區別

...考下面的程式碼。 int array1[]={1,2,3,4,5}; System.out.println(陣列1[5]); 這將導致異常。array1是一個包含5個元素的陣列。陣列的起始索引為零。列印第5個索引值會導致異常,因為它超出了界限。array1的最大索引為4。 圖03:ArrayoutBound...

  • 發佈於 2020-10-19 08:38
  • 閲讀 ( 63 )

列表(list)和設定(set)的區別

關鍵區別-列表與集合 大多數程式語言使用陣列來儲存一組相同型別的資料。陣列的一個主要缺點是,一旦聲明瞭陣列大小,就不能修改它。如果程式設計師想儲存一個超過陣列大小的值,那麼他應該建立一個新陣列,並將現...

  • 發佈於 2020-10-19 09:09
  • 閲讀 ( 50 )

陣列表(arraylist)和雙鏈表(linkedlist)的區別

...別–arraylist與linkedlist 集合對於儲存資料很有用。在普通陣列中,陣列大小是固定的。有時需要建立可以根據需要增長的陣列。Java等程式語言有集合。它是一個包含一組類和介面的框架。它充當一組元素的容器。集合允許儲存、...

  • 發佈於 2020-10-19 11:43
  • 閲讀 ( 46 )

單鏈表(singly linked list)和雙鏈表(doubly linked list)的區別

單鏈表與雙鏈表 連結串列是一種用於儲存資料集合的線性資料結構。連結串列在它自己的記憶體塊中將記憶體分別分配給它的元素,透過將這些元素作為鏈中的連結連結來獲得整體結構。單鏈表由一系列節點組成,每個節...

  • 發佈於 2020-11-02 07:30
  • 閲讀 ( 34 )

線性的(linear)和非線性資料結構(nonlinear data structures)的區別

...性的。 圖01:堆疊資料結構 一些常用的線性資料結構是陣列、連結串列、堆疊和佇列。首先,陣列是相同型別的資料元素的集合。索引有助於標識陣列中的每個元素。其次,連結串列是一個節點序列,其中每個節點由一個數據...

  • 發佈於 2020-11-03 23:07
  • 閲讀 ( 67 )

8款酷炫的智慧手機控制玩具,你暗暗渴望!

JavaArrayList是一個通用的可調整大小的陣列。它提供了其他語言中陣列通常需要的大部分功能。這些操作包括:使用索引訪問元素、新增、刪除和更新元素、動態重新調整大小、對元素進行迭代等。這些操作中的大多數都經過了...

  • 發佈於 2021-03-13 20:41
  • 閲讀 ( 50 )

陣列和列表在python中的工作方式

陣列和列表是程式設計中最有用的資料結構——儘管很少有人真正地利用它們來發揮他們的全部潛能。今天我將透過基本知識和一些簡單的Python示例來討論您。 ...

  • 發佈於 2021-03-15 17:19
  • 閲讀 ( 54 )

4個excel查詢功能,有效搜尋電子表格

...市所在的州,它將是該城市的名稱。 [表\陣列]用於指定函式將在其中查詢查詢和返回值的單元格。選擇範圍時,請確保陣列中包含的第一列將包含查詢值! [col\u index\u num]是包含返回值的列的編號。 ...

  • 發佈於 2021-03-18 02:23
  • 閲讀 ( 61 )
沙雕師長
沙雕師長

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦