當前位置:成語大全網 - 漢語詞典 - c語言建立壹個領導節點的單鏈表

c語言建立壹個領導節點的單鏈表

生成單鏈表有兩種方式:頭插入和尾插入。

1,頭部插入法

/*********************************************************************

*?函數名:linklist?*CreateLinklistHead()

*?函數功能:用頭插入法創建鏈表。

*?參數:無

*?回歸?回來了?Value:創建鏈表後鏈表的頭節點。

*?註:無

*********************************************************************/

extern?鏈接列表?*CreateLinklistHead()

{

int?x,?我,?nodeNum

鏈接列表?*頭,?*溫度;?//?頭節點和臨時節點

頭?=?(linklist?*)malloc(sizeof(linklist));?//?生成標題節點

head->;下壹個?=?NULL//?將值賦給標題節點的指針字段

Printf("請輸入鏈表中的節點數:");

scanf("%d ",& ampnodeNum);

for(I = 1;?我& lt= nodeNum?i++)

{

Printf("請先輸入?%d?節點的數據:“,?I);

scanf("%d ",& ampx);

臨時工?=?(linklist?*)malloc(sizeof(linklist));?//?生成新節點

temp->;數據?=?x;//?為新節點的數據字段賦值。

//?在頭節點後插入新節點。

temp->;下壹個?=?head->;接下來;?

head->;下壹個?=?溫度;

}

回歸?頭;?//?返回新鏈表的頭節點。

}2、尾部插入法

/*********************************************************************

*?函數名:linklist?*CreateLinklistRear()

*?功能:用尾部插入法創建鏈表。

*?參數:無

*?回歸?回來了?Value:創建鏈表後鏈表的頭節點。

*?註:無

*********************************************************************/

extern?鏈接列表?*CreateLinklistRear()

{

int?x,?我,?nodeNum

鏈接列表?*頭,?*後方,?*溫度;?//?定義頭節點、尾節點和臨時節點。

頭?=?(linklist?*)malloc(sizeof(linklist));?//?生成不存儲數據的頭節點。

head->;下壹個?=?NULL?//?將頭節點的指針字段賦值為NULL。

後方?=?頭;?//?將頁眉節點分配給頁腳節點

Printf("請輸入鏈表中的節點數:");

scanf("%d ",& ampnodeNum);

for(I = 1;?我& lt= nodeNum?i++)

{

Printf("請先輸入?%d?節點的數據:“,?I);

scanf("%d ",& ampx);

臨時工?=?(linklist?*)malloc(sizeof(linklist));?//?生成新節點

temp->;數據?=?x;//?新節點的數據字段

temp->;下壹個?=?NULL?//?新節點的指針字段(因為是尾部插入法,所有插入的節點都在尾部,即指針字段為空)

後方-& gt;下壹個?=?溫度;?//?使前壹個節點指向新節點(頭->;next=temp)

後方?=?溫度;?//?將新節點賦給尾部節點(尾部插入法,插入的節點在尾部)(rear = head-& gt;下壹個)

}

//rear-& gt;下壹個?=?NULL?//?將尾節點的指針字段指定為空(以便檢查鏈表是否為空)

回歸?頭;?//?返回頭節點

}