資料結構筆記 第二章 線性表

2022-10-08 22:21:30 字數 1344 閱讀 5448

2023年3月14日 16:22

線性表的定義

線性表是由\(n(n>=0)\)個型別相同的資料元素$a_1,a_2,\ldots ,a_n $組成的有限序列。

資料元素之間是一對一的關係,即每個資料元素最多有乙個直接前驅和乙個直接後繼。

線性表的邏輯結構圖為:⚪—⚪—⚪—⚪—⚪

線性表的特點

抽象資料型別定義

adt linearlist

​ 關係:s={}

​ 基本操作:

​ (1)initlist(l) 操作前提:l為未初始化線性表

​ 操作結果:將l初始化為空表

​ (2)destroylist(l) 操作前提:線性表l已存在

​ 操作結果:將l銷毀

​ (3)clearlist(l) 操作前提:線性表l已存在

​ 操作結果:將表l置為空表

}adt linearlist

線性表的順序儲存結構

線性表的順序儲存是指用一組位址連續的儲存單元依次儲存線性表中的各個元素,使得線性表中在邏輯結構上相鄰的資料元素儲存再相鄰的物理儲存單元中,即通過資料元素物理儲存的相鄰關係來反映資料元素之間邏輯上的相鄰關係。採用順序儲存結構的線性表通常稱為順序表

順序儲存結構的c語言定義(學籍表)

numname

***age

score

addr

10010

li fangm18

87.5

beijing

#define maxsize 100 //線性表可能達到的最大長度

typedef struct

elemtype;

typedef struct

seqlist;

//1.定義結構體變數

elemtype s1; //定義乙個存放學籍表的變數,用來存放一名學生的學籍表

seqlist l1; //定義乙個順序表變數,用來存放多名學生的學籍表

//2.將學籍表的一行記錄寫入s1

//結構體變數的成員引用運算子:

s1.num = 10010;

strcpy(s1.name,"lifang");

s1.*** = 'm';

s1.age = 18;

s1.score = 87.5;

strcpy(s1.addr,"beijing")

x

資料結構 第二章 線性表

線性表 是具有相同型別的n n 0 個元素的有限序列,其中n為表長,當n 0時,該錶為空表。線性表的特點 線性表的九種基本操作 initlist l 初始化表。構造乙個空的線性表。destroylist l 銷毀操作。銷毀線性表,並釋放線性表l所占用的記憶體空間。locateelem l,e 按值查...

資料結構 第二章 線性表

線性表 順序儲存 鏈式儲存 順序表單鍊錶 雙鏈表迴圈鍊錶 靜態鍊錶 陣列指標實現 借助陣列實現 定義 線性表是具有相同資料型別的n n 0 個資料元素的有限序列,其中n為表長,當n 0時該線性表是乙個空表。特點 1 個數有限 2 表中元素具有邏輯上的順序性。3 表中元素都是資料元素,每個元素都是單個...

資料結構 第二章 線性表

資料結構 第二章 線性表 模板 引數化的多型 引數化多型性 講程式所處理的物件型別引數化,使一段 可用於處理多種不同型別的物件 採用模板程式設計 提供 共享機制 邏輯功能相同,資料型別不同 定義格式 template 尖括號內又稱模板形參表 返回值型別 函式名 參數列 如果變數被引數化,則返回值型別...