單鏈表的表頭定義的想法

2021-10-01 19:27:46 字數 432 閱讀 6564

1.對於typedef的思考:

typedef struct nodenode,*linklist;

上面這樣是可以定義鍊錶,但是要明白那兩個node/node的區別。

小寫的node是struct本身的名字,遞迴時需要用到的,下面的node是typedef的作用,便於我們在對對鍊錶操作定義節點時候區分開的。函式中定義節點兩個node/node都能用,但一般用node這種。

node *q=(linklist)malloc(sizeof(node));

q=l->next;

node *q=(linklist)malloc(sizeof(node));

q=l->next;

兩者都可以。

2.node * 和linklist有相同的作用,但是前者定義鍊錶中的節點多,後者表示鍊錶的首元節點多。頭節點不是鍊錶所必須的。

單鏈表 頭指標

include include malloc的標頭檔案 define ok 0 define error 1 define malloc error 2 typedef int elementtype typedef struct node node typedef node pnode 重新命名結...

單鏈表頭插法

include includetypedef struct node snode snode creat 建立頭結點 for i 1 idata x s next head head s return head int lenth snode l 求鍊錶的長度 return len snode ge...

單鏈表(表頭結點)

include include define ok 0 define error 1 define malloc error 2 typedef int elementtype c語言中沒有elementtype這個資料型別,講資料結構時,用這個來泛指某一種資料型別 typedef struct n...