?? 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 + -