c3 線性表(一)

2021-10-25 15:16:18 字數 1164 閱讀 5321

3.1 線性表定義

(list):零個或多個資料元素的有限序列。

線性表(a1,a2,…,an)的順序儲存示意圖:

a[1]

a[2]

…a[i-1]

a[i]

…a[n]

#include

using

namespace std;

const

int maxsize =20;

const

int ok =1;

const

int error =0;

const

int true =1;

const

int false =0;

typedef

int elemtype;

typedef

int status;

typedef

struct

sqlist;

// // 將線性表l中的第i個位置元素值返回

status getelem

(sqlist l,

int i, elemtype *e)

tips:

1. 若插入位置不合理,丟擲異常

2. 若線性表長度大於等於陣列長度,丟擲異常或者動態增加容量

3. 從最後乙個元素開始向前遍歷到第乙個元素,分別將他們向後移動乙個未知;

4. 將要插入的元素填入位置i

5. 表長加1

*/status listinsert

(sqlist l,

int i, elemtype e)

l->data[i -1]

= e;

// 插入新元素

l->length++

;return ok;

}// 刪除l的第i個資料元素,並用e返回其值,l長度減1

status listdelete

(sqlist l,

int i, elemtype *e)

l->length--

;return ok;

}

優點

缺點

線性表(一) 順序表(3)

all right resvered 檔名稱 對稱矩陣壓縮儲存的實現與應用.cpp 作 者 鄭兆涵 線性表 一 順序表 問題 用多檔案組織自己的演算法庫。演算法庫包括兩個檔案 1 標頭檔案 list.h,包含定義順序表資料結構的 巨集定義 要實現演算法的函式的宣告。2 原始檔 list.cpp,包含...

c 實驗3 鏈式儲存線性表

1 單鏈表儲存結構類的定義 include using namespace std template class linlist 2 初始化帶頭結點空單鏈表建構函式實現 template linlist linlist 建構函式 利用陣列初始化帶頭結點的單鏈表建構函式實現 template linl...

線性表(3) 靜態鍊錶

靜態鍊錶 1.利用連續的靜態儲存空間模擬實現鍊錶的操作 2.建立資料鏈表,利用游標作為指標,指向下一元素儲存位置,l max 1 cur為頭指標,指向第乙個資料元素 3.建立空閒結點鍊錶,利用游標作為指標,指向下一空閒結點位置,l 0 cur為頭指標,指向第乙個空閒結點所在位置 4.l 0 data...