前言: node
數組是最簡單的數據機構,也就是順序表,特色:簡單粗暴,靈活性很差(固然能夠使用柔性數組來彌補這一不足)。鏈表的出現就是爲了解決數組靈活性不夠問題,可是從根本上來講,特色是同樣的,都是用來存儲數據。數組用得不少,下面主要介紹鏈表的使用。數組
鏈表分爲單鏈表,雙鏈表,循環鏈表。鏈表的每一個元素稱爲一個節點(node),每一個節點都包含兩部分,第一部分是數據域,用來存儲用戶須要的數據data,第二部分是指針域,用來存儲下一個節點的地址,也爲稱指向下一個節點的指針。 (頭尾節點除外,鏈表的頭指針指向第一個節點,鏈表的尾部指針域爲NULL,不指向任何節點。)spa
鏈表中的每個節點都是同一種數據類型,很是特殊的一點就是結構體內的指針域的數據類型使用了未成功定義的數據類型,這是C語言中惟一規定能夠先使用後定義的數據類型,如:指針
struct node { int data; struct node *next; };
例如,一個存放學生學號和成績的節點:code
struct stu { int num; int score; struct stu *next; }