陣列和鍊錶簡介

2021-09-13 01:13:31 字數 663 閱讀 4653

提及陣列和鍊錶我相信大家都並不陌生,那麼究竟什麼是陣列和鍊錶呢,我用我的理解來解釋一下。(歡迎提出寶貴的意見)

陣列是乙個什麼東西呢?他在計算機內部是以什麼樣的方式來儲存資料的呢?使用它的好處有是什麼呢?

陣列它是乙個可以用來儲存資料的一塊連續的儲存空間,我們可以通過陣列的下標去訪問裡面的某乙個元素,比如說我們在學習c語言的時候經常會看到定義陣列是這樣定義的 int a[10]  =   這段**的意思就是告訴計算機在記憶體給我分配一段連續的記憶體空間,用來存放資料,我們可以通過陣列的下標去訪問某乙個元素。a是陣列名,其實更為準確的說a是乙個指標,存放陣列的首元素。那麼使用陣列的好處就是,它的連續性很好,當需要訪問裡面的某乙個元素的時候很方便。

但是陣列優缺點就必然有缺點。它的缺點就是插入元素和刪除元素比較麻煩,還有就是長度一旦固定就無法改變,這確實是乙個很惱火的問題,所有為了彌補它的缺點就引入了鍊錶這一概念。

鍊錶在資料結構裡面其實是乙個比較重點的話題,其實光光從理解上來講,是很好解釋的,鍊錶是一種線性的儲存結構,它在記憶體中並不是有序排列的一段記憶體空間,它是散亂的,但是他們的每乙個節點的指標域都儲存著下乙個節點的位置(這裡指的是單向的,如果是雙向鍊錶還儲存了上乙個節點的位置)。使用鍊錶的話,很大程度上的彌補了傳統陣列的缺點,它的長度沒有限定,插入資料和刪除資料比較容易實現。

其實上面講的這些都比較籠統的,都是簡單的介入概念。

陣列和鍊錶

陣列名代表陣列的首位址,陣列的下標其實代表陣列中某個元素相對首位址的偏移量,陣列的第乙個元素是零偏移,因此從 0 開始。上面其實也只是乙個解釋,c 語言設計者用零開始編號,後來的各種語言也便紛紛效仿,因此就形成了這個習慣。單鏈表只支援乙個方向的訪問,第乙個節點稱為頭結點,最後乙個節點稱為尾結點。迴圈...

陣列和鍊錶

術語 在講述陣列和鍊錶之前,我們先了解乙個術語 索引和大o表示法。索引指元素的位置,因此我們不說 元素20的位置為1 而說 元素20位於索引1處 大o表示法指出演算法的速度有多快,演算法執行時間的增速。如o n 中的n指的是 運算元 也就是演算法執行時操作了幾次。有鑑於此,我們不僅要知道演算法需要多...

陣列和鍊錶

陣列名代表陣列的首位址,陣列的下標其實代表陣列中某個元素相對首位址的偏移量,陣列的第乙個元素是零偏移,因此從 0 開始。上面其實也只是乙個解釋,c 語言設計者用零開始編號,後來的各種語言也便紛紛效仿,因此就形成了這個習慣。單鏈表只支援乙個方向的訪問,第乙個節點稱為頭結點,最後乙個節點稱為尾結點。迴圈...