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