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...