在用代碼描述單鏈表之前,我們需要定義一個結構體來描述單鏈表的結點。
typedef struct Node
{
ElemType data;
struct Node *next;
}Node;
typedef struct Node *LinkList; /* 定義LinkList */
B:從這個結構定義中,我們知道,結點由存放數據元素的數據域存放後繼結點地址的指針域組成。
A:假設p是指向線性表第i個元素的指針,則該結點ai的數據域我們可以用p->data來表示,p->data的值是一個數據元素,結點ai的指針域可以用 p->next來表示,p->next的值是一個指針。p->next指向誰呢?當然是指向第i+1個元素,即指向ai+1的指針。(如圖所示)
B:關於結構體 struct Node *next; 這麼一句代碼,爲什麼要這麼寫?我寫成 int *next 行不行?
A:不行的。next是指向下一個Node,所以其類型必須是Node。int *next 只能指向int,而不能指向Node。所以必須定義爲 Node 類型,但是 Node 是結構體,所以前面還得加上個 struct。
————————————————
版權聲明:本文爲CSDN博主「雲天明」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/J_K_Christ/article/details/45015641