1.線性表的定義
線性表是具有相同特性的資料元素的乙個有限序列。
2.1線性表的順序儲存結構-----------順序表
線性表的順序儲存結構是,把線性表的所有元素按照其邏輯順序依次儲存到從計算機儲存器中指定儲存位置開始的一段連續的儲存空間中。
在定義乙個 在定義乙個線性表的順序儲存型別時,除了定義乙個陣列來儲存線性表中的元素外,還需要定義乙個整形變數來儲存線性表的實際長度。假定陣列用data【maxsize】表示,長度對應的整型變數用length表示,則採用結構體型別來表示,元素型別為通用型別標識(zhi)符elemtype的線性表的順序儲存型別
可描述如下:
typedef struct
sqlist; //順序表的型別定義
注意:#define maxsize 50 是表示估計線性表不會超過50個元素。
2.2線性表基本運算的實現
為了簡單,假設elemtype為int型別,使用如下自定義型別語句。
typedef int elemtype;
1. 建立順序表
順序表指標和順序表q都可以提供乙個順序表,但前者是通過指標l間接地提供順序表,其定義方式為sqlist * l;後者是直接提供順序表,其定義方式為sqlist q.前者引用length的方式是l->length,後者引用length域的方式是q.length.(採用順序表指標,主要是為了方便順序表的釋放演算法設計)
void createlist(sqlist *&l,elemtype a,int n) //由a中的n個元素建立順序表
例題 順序表中 刪除多餘重複元素
#include #include #define size 100
typedef struct
sequenlist;
sequenlist *sequenlistset()
printf("請輸入元素:\n");
for(l->last=0;l->lastlast++)
scanf("%d",&l->data[l->last]);
return l;
}
void sequenlistdelete(sequenlist *l,int x)
void search(sequenlist *l) }}
void print(sequenlist *l)
void main()
線性表學習總結
作用 線性表中在邏輯結構上相鄰的資料元素儲存在相鄰的物理儲存單元中,即通過資料元素物理儲存的相鄰關係來反映資料元素之間邏輯上的相鄰關係。順序儲存的實現 一維陣列儲存順序表中的資料 const int maxsize 100 template class seqlist 析構函式為空 int leng...
線性表總結
例 一元多項式及其運算 一元多項式 主要運算 多項式相加 相減 相乘等 分析 如何表示多項式?多項式的關鍵資料 多項式項數n 各項係數ai 及指數 i 方法1 順序儲存結構直接表示 陣列各分量對應多項式各項 a i 項xi的係數ai 方法2 順序儲存結構表示非零項 按指數大小有序儲存!相加過程 從頭...
線性表總結
順序表是將表中的結點依次存放在計算機記憶體中一組位址連續的儲存單元中。將表中元素乙個接乙個的存入一組連續的儲存單元中,這種儲存結構是順序結構。二 單向鍊錶 單向鍊錶 單鏈表 是鍊錶的一種,其特點是鍊錶的鏈結方向是單向的,對鍊錶的訪問要通過順序讀取從頭部開始。三 迴圈鍊錶 它和單鏈表的差別僅在於,判別...