91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

線性表的順序存儲結構

發布時間:2020-09-05 20:32:34 來源:網絡 閱讀:889 作者:BarnabyRoss 欄目:編程語言

   線性表從物理結構上分,有兩種存儲結構,一種是順序存儲結構,另一種是鏈式存儲。這里呢,先講一下順序存儲,畢竟,這種存儲方式比較簡單。

   那么什么是順序存儲結構呢?以下,是書中關于線性表順序存儲的標準定義:

線性表的順序存儲結構,指的是用一段地址連續的存儲單元依次存儲線性表的數據元素。

        通過這段標準定義,可以很容易的想到,順序存儲就是通過數組這樣的線性存儲結構來存放相關元素。因為,數組就是一段地址連續的存儲單元。

        那么關于順序存儲結構,有哪些注意點呢?

  1.存儲空間大小即數組最大長度。很明顯,為了能夠存儲夠相關的元素,一定要有適當的空間(MAXSIZE)。

  2.存儲位置。存儲空間是一段連續的地址,所以,數組的首地址就是該線性表的存儲位置(data)。

  3.當前線性表的長度(length)。

以下,線性表的順序存儲結構代碼:

#define MAXSIZE 20              //the max length of the list

typedef int ElemType;

struct SqList{
    
    ElemType data[MAXSIZE];
    int length; 

};

  關于數組長度與線性表長度。數組長度指的是能夠存儲元素的最大的空間量的多少,這個值是個常量,它是不變的。而線性表長度,指的是,當前線性表的元素的個數,它是一個可以變化的量。

  既然線性表的元素是借助數組來做的存儲。那么,就不得不注意元素的地址。在內存中,每一塊內存都有相應的地址編碼來標識這塊區域。并且,在數組中,第一個元素的下標位置為0,因為數組中的計數是從0開始的。也就是說,第i個位置的元素,其在數組中的存儲位置為i-1。并且,由于不同的數據類型所占用的地址不同。在32位計算機中,int類型的數據占4個字節,char類型的數據占1個字節。假設,數組的數據類型是int型,那么,數組中的每一個元素都是int型的,也就是,每一個元素所占地址大小都是4字節。那么獲取第i+1個元素的地址,為:LOC(ai+1) = LOC(ai) + 4;若數組的數據類型為c類型,那么第i+1個元素的地址為:LOC(ai+1) = LOC(ai) + c。

所以,對于,第i個數據元素ai的存儲位置可以由a1推算得出:LOC(ai) = LOC(a1) + ( i - 1 ) * c。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江永县| 获嘉县| 中方县| 越西县| 永安市| 新田县| 麟游县| 崇明县| 博野县| 贡山| 汉源县| 卓尼县| 万宁市| 武强县| 保康县| 临西县| 尉氏县| 息烽县| 吉安县| 东方市| 法库县| 青州市| 盐池县| 东港市| 花垣县| 谢通门县| 沂源县| 潮安县| 茂名市| 田阳县| 新宁县| 沂南县| 通化县| 佛坪县| 曲靖市| 博兴县| 铜山县| 疏附县| 新密市| 无极县| 海晏县|