#include
#include
#include
struct node //結構體定義值域和指標域
;typedef
struct node node;
typedef
struct node * link;
void
is_malloc_ok
(link new_node)
//判斷分配空間是否成功
}void
create_node
(link * new_node)
//建立節點就是給其分配空間
void
create_link
(link *head)
void
insert_node_head
(link * head,link new_node)
void
insert_node_tail
(link * head,link new_node)
p->next = new_node;
new_node->next =
null;}
void
insert_node_mid_head
(link * head,link new_node,
int loc)
//引數變數包含從哪個鍊錶插入,插入的節點
if(p ==
null
)else
}void
insert_node_mid_tail
(link * head,link new_node,
int loc)
if(p ==
null
)else
}void
insert_node_sort_soc
(link * head,link new_node)
q->next = new_node;
new_node->next = p;
}void
delete_node
(link head,
int loc)
if(p ==
null
)else
}void
display_link
(link head)
while
(p !=
null)}
void
release_link
(link *head)
}int
main()
display_link
(head)
;/* printf("please input the num to insert!\n"); //在某個節點前插入新節點
scanf("%d",&loc);
create_node(&new_node);
new_node->num = 100;
// insert_node_mid_head(&head,new_node,loc);
insert_node_mid_tail(&head,new_node,loc);
display_link(head);
printf("please input the num to delete!\n"); //阿紫某個節點後插入新節點
scanf("%d",&loc);
delete_node(head,loc);
display_link(head);
*/release_link
(&head)
;//釋放空間
display_link
(head)
;//顯示
return0;
}
帶表頭結點的單鏈表的基本操作
已知l 是帶表頭結點的非空單鏈表,且p結點既不是首元結點,也不是尾元結點 1.刪除p結點的直接後繼結點 思路 先用工作結點儲存p結點的直接後繼,然後將p結點的指標域指向p結點的直接後繼節點的直接後繼節點,然後再刪除該工作結點。2.刪除p節點的直接前驅結點 有毛病 思路 用工作結點儲存p結點,然後將表...
單鏈表的基本操作 單鏈表的建立 插入 刪除結點等
1 單鏈表的建立 2 建立結點 3 列印結點 4 鍊錶的插入 頭插法 5 鍊錶的刪除 指定位置刪除 include include include 結構體 結點由資料域 指標域構成 struct node 建立鍊錶 表頭 struct node createlist 建立結點 struct node...
單鏈表的基本操作 單鏈表的建立 插入 刪除結點等
1 單鏈表的建立 2 建立結點 3 列印結點 4 鍊錶的插入 頭插法 5 鍊錶的刪除 指定位置刪除 適合新手初步認識學習單鏈表的基本操作 include include include 結構體 結點由資料域 指標域構成 struct node 建立鍊錶 表頭 struct node createli...