📄 link.h
字号:
#ifndef _LINK_H_#define _LINK_H_#ifndef C_CLASS#define C_CLASS struct #endiftypedef struct _node{ void *data; struct _node *prior; struct _node *next;}NODE;C_CLASS LINKLIST{ C_CLASS LINKLIST* THIS; NODE* head; NODE* rearptr; /*NODE* curptr;*/ int count; /*void (*insert_front)(C_CLASS LINKLIST* THIS,void *data,int size);*/ void (*insert_rear)(C_CLASS LINKLIST* THIS,void *data,int size); /*void (*insert_at)(C_CLASS LINKLIST* THIS,int index,void *data,int size);*/ NODE* (*get_node_by_index)(C_CLASS LINKLIST* THIS,int index); /* 根据key值,并通过一定的比较算法cmp获取链表中的结点 */ NODE* (*get_node_by_key)(C_CLASS LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2)); /* 获取结点在链表中的位置 */ int (*get_index_by_key)(C_CLASS LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2)); int (*delete_node_by_key)(C_CLASS LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2)); int (*link_delete_node_by_index)(C_CLASS LINKLIST* link,int index); void (*clear)(C_CLASS LINKLIST* THIS); /* 删除链表结点,但是不删除头结点 */ void (*del)(C_CLASS LINKLIST* THIS);};void link_init(C_CLASS LINKLIST* link);/*void link_insert_front(C_CLASS LINKLIST* link,void *data,int size);*/void link_insert_rear(C_CLASS LINKLIST* link,void *data,int size);/*void link_insert_at(C_CLASS LINKLIST* link,int index,void *data,int size);*/NODE* link_get_node_by_index(C_CLASS LINKLIST* link,int index);/* 根据key值,获取结点 */NODE* link_get_node_by_key(C_CLASS LINKLIST* link,char* key,int (*condition)(void *p1,void *p2));/* 获取结点在链表中的位置 */int link_get_index_by_key(C_CLASS LINKLIST* link,char* key,int (*condition)(void *p1,void *p2));/* 根据key值删除结点 */int link_delete_node_by_key(C_CLASS LINKLIST* link,char* key,int (*condition)(void *p1,void *p2));int link_delete_node_by_index(C_CLASS LINKLIST* link,int index);void link_clear(C_CLASS LINKLIST* link);/* 删除链表有效结点,不包括头结点 */void link_del(C_CLASS LINKLIST* link);void init_node(NODE* n);NODE* create_node(void *data,int size);void free_node(NODE *n);#endif /* _LINK_H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -