C語言單鏈表的建立和輸出(詳細分析)

2021-09-27 06:16:30 字數 1514 閱讀 7508

#include

#include

//包含了malloc函式,可以用malloc.h代替

c語言中malloc是動態記憶體分配函式

struct link 

;

typeof

struct link

* linknode;

(1)無頭節點的建立

struct link*

creatlink

(struct link* head)

p->next =

null

;return head;

}

(2) 有頭節點的建立

struct link*

creatlink

(struct link* head)

p->next =

null

;return head;

}

頭節點定義:

頭節點是為了操作的統

一、方便而設立的,一般來說,頭節點放在第一元素節點之前,其資料域一般無意義(當然有些情況下也可存放鍊錶的長度、用做監視哨等)。有頭節點後,對在第一元素節點前插入節點和刪除第一節點,其操作與對其他節點的操作統一了。而且無論鍊錶是否為空,頭指標均不為空。

首元節點是第一元素節點,它是頭節點後邊的第乙個節點。

區別

(1)無頭節點的輸出

void

printlink

(struct link *head)

while

(h !=

null

)}

(2)有頭節點的輸出

void

printlink

(struct link *head)

while

(h !=

null

)}

無頭節點**:

#include

#include

struct link

;struct link*

creatlink

(struct link* head)

p->next =

null

;return head;

}void

printlink

(struct link *head)

while

(h !=

null)}

intmain

(void

)

輸入:

123

456-

1

輸出:

123

456

單鏈表的建立和列印

最近想複習關於c語言中煉表方面的知識,看到這篇部落格寫的很詳細,便對部落格中的 重新手打了一遍,並改正了其中的幾個小錯誤,可能還有錯誤,望大家指正。include include 定義鍊錶資料結構 struct node 函式宣告 struct node creat struct node void...

C 實現單鏈表的建立和列印

鏈結方式儲存的線性表簡稱為鍊錶 linked list 鍊錶的具體儲存表示為 用一組任意的儲存單元來存放線性表的結點 這組儲存單元既可以是連續的,也可以是不連續的 鍊錶中結點的邏輯次序和物理次序不一定相同。為了能正確表示結點間的邏輯關係,在儲存每個結點值的同時,還必須儲存指示其後繼結點的位址 或位置...

c語言建立單鏈表

include include 資料結構定義 typedef struct lnode lnode,linklist 頭插法 void create linklist l,int a,int n 輸出 void print linklist l void main create l,a,10 pri...