📄 sortedlist.h
字号:
#ifndef _SORTED_LIST_H_
#define _SORTED_LIST_H_
#ifdef __cplusplus
extern "C" {
#endif
#ifndef PASCAL
#define PASCAL
#endif
//分配一个排序列表
//参数为两个函数指针,分别用于自动保存和释放子项内容,
//这两个指针可以都为0,这样,在增加子项的时候就不会分配内存保存子项内容,也不会在删除子项的时候释放内容
void* PASCAL slAllocList();
//删除一个排序列表,并且自动释放自动分配的内存
void PASCAL slReleaseList(void* sl);
//在一个排序列表中添加一子项
//如果nContent不为0,就分配足够的内存保存这个content
//如果nContent=0而且在初始化的时候给定了funcBackupItem,则使用funcBackupItem分配内存
int PASCAL slInsertItem(void* sl, void* content, unsigned long dwIndex1, unsigned long dwIndex2, unsigned long dwIndex3, unsigned long dwIndex4);
//删除索引号为dwIndex的子项
//如果bDeleteContent=0,将不会自动释放content的内存,并返回这个子项中的content
//如果bDeleteContent!=0,将自动释放content的内存,返回0
void* PASCAL slReleaseItem(void* sl, unsigned long dwIndex1, unsigned long dwIndex2, unsigned long dwIndex3, unsigned long dwIndex4);
void* PASCAL slReleaseItembyPos(void* sl, long dwPos);
void* PASCAL slFindContent(void* sl, unsigned long dwIndex1, unsigned long dwIndex2, unsigned long dwIndex3, unsigned long dwIndex4);
long PASCAL slGetItemCount(void* sl);
void* PASCAL slGetItem(void* sl, long pos);
int PASCAL slAppendItemRandom(void* sl, void* content);
void PASCAL slModifyIndex(void* sl, long pos, unsigned long dwNewIndex1, unsigned long dwIndex2, unsigned long dwIndex3, unsigned long dwIndex4);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -