程序:
#include <stdio.h>
#include <stdlib.h>
struct node
{
int num;
char name[20];
struct node * next;
};
typedef struct node Node;
typedef struct node * Link; //重命名;
void is_malloc_ok(Link new_node) //判断给new_node分配空间是否成功;
{
if(new_node == NULL)
{
printf("malloc error !\n");
exit(-1);
}
}
void creat_node(Link *new_node)
{
*new_node = (Link)malloc(sizeof (Node));
is_malloc_ok(*new_node);
}
void creat_link(Link *head) //创建一个空链表;
{
// *head = NULL;
creat_node(head);
(*head)->next = NULL;
}
void insert_new_node_head(Link head,Link new_node) //头插;
{
new_node ->next = head ->next;
head ->next = new_node;
}
void insert_new_node_tail(Link head,Link new_node) //尾插;
{
Link p;
p = head;
if(head ->next == NULL)
{
head->next = new_node;
new_node -> next = NULL;
}
else
{
while(p -> next != NULL)
p = p ->next;
p ->next = new_node;
new_node ->next = NULL;
}
}
void display(Link head) //链表的输出;
{
Link p;
p = head->next;