www.pudn.com > 49-LIST.zip > My_List.h
#ifndef _MY_LIST_H
#define _MY_LIST_H
typedef int MY_TYPE;
inline bool Euqal(MY_TYPE Data1, MY_TYPE Data2)
{
if(Data1 == Data2)
return true;
return false;
}
inline bool Bigger(MY_TYPE Data1, MY_TYPE Data2)
{
if(Data1 > Data2)
return true;
return false;
}
//定义链表节点结构体
typedef struct _NODE
{
MY_TYPE _data;
_NODE* _next;
}NODE, * pNODE;
//创建
bool My_List_Create(pNODE* List);
//插入
bool My_List_Insert(pNODE* List, unsigned int Postion, MY_TYPE Data);
//推入
bool My_List_Push(pNODE* List, MY_TYPE Data);
//删除
bool My_List_Erase(pNODE* List, unsigned int Postion);
//清空
void My_List_Clear(pNODE* List);
//销毁
void My_List_Destory(pNODE* List);
//查找
bool My_List_Search(pNODE* List, unsigned int Postion, MY_TYPE* pData);
//定位
bool My_List_Locate(
pNODE* List,
unsigned int* pPostion,
MY_TYPE Data,
bool (* Equal)(MY_TYPE data1, MY_TYPE data2));
//排序
void My_List_Sort(
pNODE* List,
bool (* Bigger)(MY_TYPE data1, MY_TYPE data2),
bool Increase = true);
//长度
unsigned int My_List_Length(pNODE* List);
#endif