【文件属性】:
文件名称:通用双向链表
文件大小:2KB
文件格式:RAR
更新时间:2017-08-18 11:16:30
通用双向链表
通用双向链表,包括增加,删除节点,修改等,功能齐全typedef struct linkd
{
// 链表头
node_t *head;
// 链表尾
node_t *rear;
// 链表节点数
int count;
}link_t;
/* 链表操作 */
/************初始化 ***************/
void link_init(link_t *plink);
/******************增加节点*******************/
//通过index插入节点
int insert_node_by_index(link_t *plink,int index,void *data);
//从头部插入节点
int insert_node_front(link_t *plink,void *data);
//从尾部插入节点
int insert_node_rear(link_t *plink,void *data);
/******************查找节点*******************/
//通过index获取链表的某个节点
node_t* getnode_by_index(link_t *plink,int index);
/* 删除节点 */
//从头部删除节点
int del_node_front(link_t *plink);
//从尾部删除节点
int del_node_rear(link_t *plink);
//删除链表里面的节点,不包括链表本身
void del_all_node(link_t *plink);
//删除链表澹(所有节点和链表本身)
void del_link(link_t *plink);
//删除某个节点
void del_at(link_t *plink,int pos);
//创建一个节点
node_t* create_node(void *data);
//释放一个节点
void free_node(node_t *node);
//判断是否是空链表
int is_empty_link(link_t *link);
【文件预览】:
link.h
link.c
网友评论
- 老师发布的作业,这个链表还是很合适的 就是有点贵了