单向链表的创建:
1、首先是创建一个头结点,他的数据域可以不设置,也可以设置成记录链表的长度;
2、创建一个尾节点;
3、创建一个要插入的节点;
尾节点的作用是作为新节点的插入点,最后使最后插入的节点是尾节点;
初始化链表时使尾节点指向头结点,因为刚开始只有一个节点,即头结点就是尾节点;
#include <stdio.h>
#include <stdlib.h>
#define LEN 8
struct node
{
int name;
struct node *next;
};
typedef struct node *list;
int main()
{
list head;
list end;
list p_new;
int i;
if( (head = (list)malloc(sizeof(list))) ==NULL)
{
printf("malloc head fail!\n");
} //给头结点分配一个list类型的空间
end = head;
end->next = NULL;
for(i=0; i<LEN; i++)
{
if((p_new = (list)malloc(sizeof(list))) == NULL)
{
printf("malloc p_new fail!");
}
p_new->name = i+1;
end->next = p_new;
p_new->next = NULL;
end = p_new;
}
return 0;
}
创建一个八个节点的链表.