單鏈表的建立, 刪除, 插入, 輸出

2021-05-01 14:58:23 字數 1417 閱讀 7024

#include

#include

typedef struct node

node, *linklist;

int node_num = 0;

void creat(node *head);    //建立鍊錶

void print(node *head);   //輸出鍊錶

node *query(node *head, int value);   //查詢

void *del_node(node *head, int value);   //對鍊錶的刪除節點

void insert_node(node *head, node * inser);  //插 入 到 有 序 的 鏈 表

int main(void)

else

printf("請輸入要刪除的數值:/n");

scanf("%d", &value);

del_node(head, value);

print(head);

printf("請輸入要插入的數字/n");

/**/inser = (node *)malloc(sizeof(node));   //開始做的時候忽略了, 犯了大錯啦,指標不初始化是不能存東西的, 傻瓜!!!

scanf("%d", &inser->data) ;

insert_node(head, inser);

getchar();

printf("插入後的鍊錶 為:/n");

print(head);

return 0;

}void  creat(node *head)               //head 不放資料的(資料結構書page45)

/*while (1 == scanf("%d", &data))  // 尾插法

p->next = null;*/

}void print(node *head)

printf("/n");

}node * query(node *head, int value)

return null;

}void *del_node(node *head, int value)

if (p->data == value)    //找到啦, (*^__^*) 嘻嘻……

}else                                         //沒有找到, 嘿嘿

printf("沒有找到要刪除的節點!/n");

return ;

}void insert_node(node *head, node * inser)

else

if(inser->data <= p->data)   //找到位置插入

else        //蒐集完了, 插在表尾

}return;

單鏈表 建立插入刪除

建立乙個工程,在其中新增 list.h 標頭檔案,list.cpp原始檔和main.cpp原始檔。標頭檔案list.h中進行資料型別抽象 adt 宣告了乙個結構體和對應的操作,如下 ifndef list h define list h typedef struct list list 函式宣告 l...

單鏈表的建立 插入 刪除

單鏈表的初始化 建立 插入 查詢 刪除 include include typedef int elemtype 定義結點型別 typedef struct node node,linkedlist 單鏈表的初始化 linkedlist linkedlistinit l next null 將nex...

單鏈表的建立 插入 刪除

建立乙個節點 typedef struct node link 建立鍊錶 首先head 這個變數指向第乙個節點,然後讓temp1 指向每次建立的knot1節點。簡單來說就是 knot1 開闢節點,temp1儲存每次開闢的節點。num 節點個數 link createlist link head,in...