📄 link.h
字号:
#ifndef _LINK_H_#define _LINK_H_typedef struct _node{ void *data; struct _node *prior; struct _node *next;}NODE;typedef struct LINKLIST{ NODE* head; NODE* rearptr; /*NODE* curptr; //当前结点*/ int count; /*结点数*/
/* 从链表头结点插入 */ void (*insert_front)(struct LINKLIST* THIS,void *data,int size);
/* 从链表尾结点插入*/ void (*insert_rear)(struct LINKLIST* THIS,void *data,int size);
/* 从链表某个结点插入*/ void (*insert_at)(struct LINKLIST* THIS,int index,void *data,int size);
/*通过结点编号获得结点*/ NODE* (*get_node_by_index)(struct LINKLIST* THIS,int index); /* 根据key值,并通过一定的比较算法cmp获取链表中的结点 */ NODE* (*get_node_by_key)(struct LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2)); /* 获取结点在链表中的位置 */ int (*get_index_by_key)(struct LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2));
/*通过关键字删除结点*/ int (*del_node_by_key)(struct LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2));
/*删除第几个结点*/
int (*del_node_by_index)(struct LINKLIST* THIS,int index);
/* 删除链表结点,但是不删除头结点 */ void (*del_all_data)(struct LINKLIST* THIS); /* 删除链表,包括链表头结点,本身结构体 */ void (*del_all)(struct LINKLIST** THIS); /*求当前链表的长度*/ int (*len)(struct LINKLIST* THIS);}LINK;
/*创建一个链表*/LINK * new_link();
#endif /* _LINK_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -