?? link.h
字號(hào):
#ifndef _LINK_H_
#define _LINK_H_
#ifndef C_CLASS
#define C_CLASS struct
#endif
typedef struct _node
{
void *data;
struct _node *prior;
struct _node *next;
}NODE;
C_CLASS LINKLIST
{
/*鏈表初始化*/
C_CLASS LINKLIST* THIS;
NODE* head;
NODE* rearptr;
int count;
/*尾節(jié)點(diǎn)插入*/
void (*insert_rear)(C_CLASS LINKLIST* THIS,void *data,int size);
/* 根據(jù)key值,并通過(guò)一定的比較算法cmp獲取鏈表中的結(jié)點(diǎn) */
NODE* (*get_node_by_key)(C_CLASS LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2));
/* 獲取結(jié)點(diǎn)在鏈表中的位置 */
int (*get_index_by_key)(C_CLASS LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2));
/* 根據(jù)key值,并通過(guò)一定的比較算法cmp刪除鏈表中的結(jié)點(diǎn) */
int (*delete_node_by_key)(C_CLASS LINKLIST* THIS,char* key,int (*condition)(void *p1,void *p2));
/*根據(jù)下標(biāo)index返回這個(gè)下標(biāo)的結(jié)點(diǎn)*/
NODE* (*get_node_by_index)(C_CLASS LINKLIST* THIS,int index);
int (*delete_node_by_index)(C_CLASS LINKLIST* THIS,int index);
int (*replace_node_by_index)(C_CLASS LINKLIST* THIS,int index,void *data,int size);
void (*clear_link)(C_CLASS LINKLIST* THIS);
/* 刪除鏈表結(jié)點(diǎn),但是不刪除頭結(jié)點(diǎn) */
void (*del)(C_CLASS LINKLIST* THIS);
};
/*鏈表的初始化*/
void link_init(C_CLASS LINKLIST* link);
/*插入到尾結(jié)點(diǎn)*/
void link_insert_rear(C_CLASS LINKLIST* link,void *data,int size);
/* 根據(jù)key值,獲取結(jié)點(diǎn) */
NODE* link_get_node_by_key(C_CLASS LINKLIST* link,char* key,int (*condition)(void *p1,void *p2));
/* 獲取結(jié)點(diǎn)在鏈表中的位置 */
int link_get_index_by_key(C_CLASS LINKLIST* link,char* key,int (*condition)(void *p1,void *p2));
/* 根據(jù)key值刪除結(jié)點(diǎn) */
int link_delete_node_by_key(C_CLASS LINKLIST* link,char* key,int (*condition)(void *p1,void *p2));
/*根據(jù)下標(biāo)index返回這個(gè)下標(biāo)的結(jié)點(diǎn)*/
NODE* link_get_node_by_index(C_CLASS LINKLIST* link,int index);
int link_replace_node_by_index(C_CLASS LINKLIST *link,int index,void *data,int size);
int link_delete_node_by_index(C_CLASS LINKLIST *link,int index);
void link_clear(C_CLASS LINKLIST* link);
/* 刪除鏈表有效結(jié)點(diǎn),不包括頭結(jié)點(diǎn) */
void link_del(C_CLASS LINKLIST* link);
C_CLASS LINKLIST salelist;
C_CLASS LINKLIST update_salelist;
void init_node(NODE* n);
NODE* create_node(void *data,int size);
void free_node(NODE *n);
#endif /* _LINK_H_ */
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -