什么是數組?隨機訪問特性的原理?為什么數組下標從0開始?——經常使用數組的你真的了解數組嗎?


數據結構 -- 數組

概念

數組是一種線性表數據的結構,他用一組連續的內存空間,來存儲一組相同數據類型的數據。

  • 線性表:數據排列成一條線一樣的結構。數據結構特點:存在一個唯一的沒有前驅的(頭)數據元素;存在一個唯一的沒有后繼的(尾)數據元素存在頭和尾元素。像隊列,鏈表,棧也是線性表結構。對應的還有非線性表結構(數據沒有先后順序的,二叉樹,堆等)
  • 連續內存空間:計算機在分配內存空的時候都會對應分配一個內存地址,連續的內存空間對應的是指連續的內存地址,計算機是通過訪問內存地址會獲取內存中的值。
  • 相同的數據類型:相同的數據類型,換句話可以說數據存儲所占用內存大小一樣

特性 - 隨機訪問

基於上面的概念描述,下面來分析一下數組的最大特性:隨機訪問。
隨機訪問:就是存取第N個數據時,必須先訪問前(N-1)個數據 (鏈表)
非隨機訪問:就是存取第N個數據時,不需要訪問前(N-1)個數據,直接就可以對第N個數據操作(數組)
如下圖所示:

為什么數組下標都是從0開始?

  • 從上面圖示我們來分析:
    • 假設下標為1開始:我們要想獲取第3個值得話 首地址(1000)+ (3-1)*4(數據類型占用的內存) = 1008 第三個內存地址的位置
    • 駕駛下標從0開始:我們想獲取第3個值得花 首地址(1000)+ 2 *4(數據類型占用的內存) = 1008 省去了一個減的動作 提高了訪問的效率。

總結

  • 數組是我們經常在開發過程中接觸到的數據類型,所以很有必要清楚的了解數組的相關屬性的由來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM