主要代码:
#include "linklist.h"
#include <stdlib.h>
#include <stdio.h>
//创建头节点
lkl_pnode create_linklist()
{
//创建堆区空间
lkl_pnode H = (lkl_pnode)malloc(sizeof(lkl_node));
if(NULL == H)
{
printf("malloc is default\n");
return NULL;
}
H->next = NULL; //一开始是没有其他节点的,所以头节点指向NULL
return H;
}
//获取链表长度
int getlen_linklist(lkl_pnode H)
{
int count = 0;
while(H->next)
{
H = H->next;
count++;
}
return count;
}
//插入
int insert_linklist(lkl_pnode H, int pos, linklist_data_t data)
{
//判断插入位置是否合法
if(pos < 0 || pos > getlen_linklist(H))
{
printf("pos is default\n");
return -1;
}
//找到插入位置的前一个节点的位置
while(pos--)
{
H = H->next;
}
//插入,头插
lkl_pnode new = create_linklist();
new->data = data;
new->next = H->next;
H->next = new;
return 0;
}
//判空
int empty_linklist(lkl_