- 線性表(list): 零個(gè)或多個(gè)數(shù)據(jù)元素的有限序列。
- 線性表的順序存儲(chǔ)結(jié)構(gòu):用一段連續(xù)地址來依次存儲(chǔ)線性表的數(shù)據(jù)元素。

線性表的順序存儲(chǔ)結(jié)構(gòu)

地址和數(shù)據(jù)元素的下標(biāo)
#define MAXSIZE 20 //線性表的大小
typedef int ElemType; //數(shù)據(jù)元素的數(shù)據(jù)類型,這里以int為例
typedef struct
{
ElemType data[MAXSIZE]; //數(shù)組存儲(chǔ)數(shù)據(jù)元素
int length; //線性表當(dāng)前長(zhǎng)度
}SqList;
- 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu):一個(gè)或多個(gè)節(jié)點(diǎn)(node)組合而成的數(shù)據(jù)結(jié)構(gòu)被稱為鏈表。
節(jié)點(diǎn)(node)由兩部分構(gòu)成:- 數(shù)據(jù):存放該節(jié)點(diǎn)有效的數(shù)據(jù)
- 指針:指向下一個(gè)節(jié)點(diǎn)的地址

節(jié)點(diǎn)
頭指針:指向鏈表的第一個(gè)節(jié)點(diǎn)。
頭節(jié)點(diǎn):鏈表的第一個(gè)節(jié)點(diǎn)前,輔設(shè)的一個(gè)節(jié)點(diǎn)。頭節(jié)點(diǎn)可以只存放指針(頭指針)。

頭節(jié)點(diǎn)和頭指針的關(guān)系
typedef struct Node
{
ElemType data;
struct Node *next;
}Node,*LinkList;