【線性表】順序表的基本特性

線性表是對順序表、隊列和棧的綜合稱呼,順序表的本質就是數組。

 

線性表(Linear List):

  1. 數據元素之間一個挨着一個
  2. 具有相同特性數據元素的有限序列

線性表?順序表?:

  1. 線性表是一種邏輯結構,表示元素之間一對一的相鄰關係。
  2. 順序表和鏈表是指存儲結構!!
  3. 也即線性表表明數據之間的邏輯結構是線性的;順序表和鏈表表明數據的存儲結構是順序的;

順序表的本質就是:數組!順序表等價於數組!

理解順序存儲結構:

  1. 是四大存儲結構中的一種(順序存儲、鏈式存儲、索引存儲、散列存儲);
  2. 大佬的定義:邏輯上相鄰的結點存儲在物理位置上相鄰的存儲單元中結點之間的邏輯關係由存儲單元的鄰接關係來體現
  3. 菜鳥的理解:具有線性關係的數據、按照前後的次序、全部存儲在一整塊連續的內存空間中,即用一組地址連續的存儲單元、依次存儲線性表的各個數據元素

如果一個數組爲”a[10]={11,12,13,14,15,16,17,18,19.20}”。存儲的是int型數據,所以該數組是int型數組,所以k的值爲int型數據的寬度(即爲4字節)。

順序存儲的特性:

  1. 第一個元素所在的地址就是這塊存儲空間的首地址通過首地址,可以輕鬆訪問到存儲的所有的數據。
  2. 可實現對結點的隨機存取,即每一個結點對應一個序號由該序號可以直接計算出來結點的存儲地址。

順序表的定義:

#define SIZE 100   //存儲空間初始分配量

typedef struct Sqlist
{
      int element[SIZE];   //數組存儲數據元素,最大長度爲SIZE
      int current;     //線性表當前長度
}Sqlist, * PSqlist;

注:在編程開發中,直接使用的是數組,幾乎不用線性表。所以我們直接用數組來代替它。

#include <stdio.h>
#define SIZE 10

int main()
{
    int a[SIZE];
    ...    

    return 0;
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章