首先包含头文件
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <assert.h>
```c //定义节点结构体
typedef struct Node{
int date; //数据域
struct Node *next; //指针域
}Node ,*Linklist; //*Linklist 的意思是 struct Node * Linklist
//函数定义区
void Initlist(Linklist L); //链表的初始化
Node *BuyNode(int val); //购买一个节点
bool Insert_head(Linklist L, int val); //头插
bool Insert_tail(Linklist L,int val); //尾插
bool Insert_pos(Linklist L, int pos, int val); //指定位置插入
Node *Search(Linklist L, int key); //查找值为key的前驱的值
bool Delete(Linklist L, int key); //删除数据为key的节点
int Getlength(Linklist L); //得到单链表的长度
bool Is_empty(Linklist L); //判断链表是否为空
void showlist(Linklist L); //链表打印
bool Destory(Linklist L); //销毁链表
int main() //主函数程序
{
Node head; //定义头指针
Initlist(&head); //链表的初始化
Insert_tail(&head,2); //尾插