📄 link.h
字号:
#ifndef _LINK_H# define _LINK_Htypedef struct link_node{ // data void *data; // attributions int type; // relationship //struct link_node *head; struct link_node *next; struct link_node *prev; void (*destroy_data) (void *); void (*dump_self) (void *);} link_node_t;typedef link_node_t link_t;# if 0struct tree_node{ void *data; struct tree_node *root; struct tree_node *children; struct tree_node *prev_brother;}# endiftypedef enum insert_method{ INSERT_METHOD_BEFORE = 0, INSERT_METHOD_AFTER = 1,} insert_method_t;typedef enum node_type{ NODE_TYPE_UNKNOWN = -1, NODE_TYPE_HEAD = 100, NODE_TYPE_NORMAL = 200, NODE_TYPE_TAIL = 300} node_type_t;link_node_t *link_init(void (*destroy_data_callback) (void *), void (*dump_self_callback) (void *));void link_destroy(link_node_t * head);int link_insert_node(link_node_t * head, link_node_t * ref, link_node_t * p, insert_method_t method);int link_insert_normal_node(link_node_t * head, link_node_t * ref, link_node_t * p, insert_method_t method);int link_delete_node(link_node_t * head, link_node_t * p);link_node_t *create_node(node_type_t t);inline node_type_t get_node_type(link_node_t * p);link_node_t *link_locate_node(link_node_t * head, void *condition);int link_update_node(link_node_t * head, link_node_t * p);void link_dump_nodes(link_node_t * head);#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -