链表特点:
1.修改,删除不需要删除大量的元素
2.查找和便利需要便利大量的元素
基本思路:
1.首先创建单链表需要的结构体。
//定义结构体
typedef struct Node
{
union {
int len;
int date;
};
struct Node *next; //用于指向下一个节点
} link;
2.创建头节点。(注:单链表分为有头节点和无头节点,本次默认使用的是由头节点)
link *create_head() //返回的是创建的链表的地址
{
link *H = (link *)malloc(sizeof(link));
if (H = NULL)
{
perror("creat node error\n");
return NULL;
}
{
H->next = NULL;
return H;
}
}
注意:malloc开辟堆区空间,而且返回值为void类型的指针,可以通过强制类型转换将其装换成任意类型的数据。
其中定义的链表结构体中,在初始化的过程中没使用到的元素可以不进行初始化。