概念
循環(huán)鏈表可以分為循環(huán)單鏈表和循環(huán)雙鏈表。
循環(huán)單鏈表
循環(huán)單鏈表即尾指針改為指向頭結(jié)點的單鏈表,整個鏈表形成一個環(huán)。
單鏈表的判空條件是頭結(jié)點的后繼指針是否為空,而循環(huán)單鏈表的判空條件為頭結(jié)點后繼指針是否等于頭指針。
循環(huán)雙鏈表
類似于單鏈表,首尾結(jié)點構(gòu)成環(huán)。
空表:頭結(jié)點的 prev 和 next 都等于 H
靜態(tài)鏈表
用數(shù)組來描述線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)。
靜態(tài)鏈表也包含數(shù)據(jù)域和指針域(數(shù)組下標(biāo)),又稱游標(biāo)。
實現(xiàn)
#define MaxSize 50
// 靜態(tài)鏈表的最大長度
typedef int ElemType
typedef struct{
ElemType data;
// 數(shù)據(jù)域:存儲數(shù)據(jù)元素
int next;
// 指針域:存儲下一個元素的數(shù)組下表
}SLinkList[MaxSize];
- 數(shù)組的第一個元素不存儲數(shù)據(jù),它的指針域存儲第一個元素所在的數(shù)組下標(biāo)。
- 鏈表最后一個元素的指針域值為 -1 。

靜態(tài)鏈表