C 動態建立鍊錶

2022-07-23 23:48:15 字數 2692 閱讀 7266

#define _crt_secure_no_warnings#include 

struct

node

;node* init_node_m_head() //

動態建立頭節點

void end_add(node* node_data, node* other) //

傳入頭節點,和子節點,在尾部掛載節點

other->next = now_m_head->next; //

找到最後乙個節點,把空位址賦值給子節點的next

now_m_head->next = other; //

把最後乙個節點賦值為子節點

}void printf_node(node* node_data) //

列印鍊錶

printf(

"null\n");

}node* node_init_zi(int n) //

動態建立子節點

temp->data = n; //

將n賦值給結構體變數,

return

temp;

}void add(node* node_m_head, node* other) //

在頭節點後開始插入節點

node* rand_add(node* node_m_head,int n,node* other)//

按指定位置插入資料

if (temp !=null)

} while (temp !=null);

printf(

"您輸入的位置有誤,鍊錶中未儲存這麼多的資料!\n");

printf(

"是否需要把資料插到最後面? 請輸入1或者0, 1則插入到節點尾部,否則結束!\n");

intk;

scanf("%d

",&k);

if (k == 1

)

else

return

null;

}node* free_someone(node* node_m_head, int n) //

指定刪除某乙個位置的節點

else

} while (temp!=null);

printf(

"大兄弟,鍊錶中是空的,你想幹啥??!\n");

return

node_m_head;

}void clear(node*data_m_head)

printf(

"釋放完成,鍊錶已經清空\n");

printf(

"鍊錶已更新,新的鍊錶列印如下:\n");

printf_node(data_m_head);

}void

play()

printf(

"鍊錶已更新,新的鍊錶列印如下:\n");

printf_node(node_data1);

break

;

case

3: //

動態建立乙個節點,並從頭部插入

printf("

即將在頭節點處插入乙個節點\n");

intnum3, num4;

printf(

"請輸入建立的單鏈表的個數(只能輸入整數):");

scanf("%d

", &num3);

for (int i = 0; i < num3; i++)

printf(

"鍊錶已更新,新的鍊錶列印如下:\n");

printf_node(node_data1);

break

;

case

4: //

指定位置進行插入

printf("

即將在指定位置新增節點\n");

intnum5, num6, num7;

printf(

"請輸入建立的單鏈表的個數(只能輸入整數):");

scanf("%d

", &num5);

for (int i = 0; i < num5; i++)

printf(

"鍊錶已更新,新的鍊錶列印如下:\n");

printf_node(node_data1);

break

;

case

5: //

指定位置刪除

intnum8, num9;

printf(

"即將要刪除乙個節點\n");

printf(

"請輸入要刪除的單鏈表的個數(只能輸入整數):");

scanf("%d

", &num8);

for (int i = 0; i < num8; i++)

break

;

case6:

printf_node(node_data1);

break

;

case7:

printf(

"----------程式即將退出----------");

exit(0);

default

:

break

; }

}}int

main()

建立動態鍊錶

3 建立動態鍊錶 學自徐洪波c語言教程 include include 鍊錶結構體 struct node int value struct node next void creat struct node root struct node tail struct node p p struct n...

建立動態鍊錶

1 所謂建立動態鍊錶是指在程式執行過程中從無到有的建立起乙個鍊錶,即乙個乙個的開闢節點和輸入各節點的資料,並建立起前後相連的關係。例 寫乙個程式建立乙個含有學生 學號 成績 資料的單向動態鍊錶。約定 學號不會為0,若輸入學號為0,則表示建立鍊錶的過程完成,該節點不應連線到鍊錶中。2 實現鍊錶輸出 首...

C 建立鍊錶

自己儲存一下,建立鍊錶的程式,省的以後每次建立鍊錶的時候,還需要重新在寫。通過下面的 建立的鍊錶節點數為10,每個節點儲存的數為其下標即 0 9 這裡要注意一點,在void createlist listnode phead 的時候,用的是指標引用,因為在main中head並沒有開闢空間,如果在cr...