⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mylist.h

📁 提供了rbtree ttree avltree list hashtable等常用容器的算法,代码经过uclinux + arm44b0平台验证
💻 H
字号:
/*
*
* mylist.h 链表 
*
* author:lin shao chuan (email:lsccsl@tom.com, msn:lsccsl@163.net)
*
*/

#ifndef __MYLIST_H__
#define __MYLIST_H__


#include "mymempool.h"


typedef struct __handle_mylist
{
	int unused;
}* HMYLIST;

typedef struct __handle_mylist_iter
{
	int unused;
}* HMYLIST_ITER;


/*
*
*构造链表
*
*/
extern HMYLIST MyListConstruct(HMYMEMPOOL hm);

/*
*
*销毁链表
*
*/
extern int MyListDestruct(HMYLIST hlist);

/*
*
*添加一节点到至链表尾
*
*/
extern HMYLIST_ITER MyListAddTail(HMYLIST hlist, const void * userdata);

/*
*
*添加一节点至链表头
*
*/
extern HMYLIST_ITER MyListAddHead(HMYLIST hlist, const void * userdata); 

/*
*
*删除一节点,返回用户数据
*
*/
extern HMYLIST_ITER MyListErase(HMYLIST hlist, HMYLIST_ITER iter);

/*
*
*删除所有节点
*
*/
extern void MyListEraseAll(HMYLIST hlist);

/*
*
*获取头结点
*
*/
extern HMYLIST_ITER MyListGetHead(HMYLIST hlist);

/*
*
*获取尾结点
*
*/
extern HMYLIST_ITER MyListGetTail(HMYLIST hlist);

/*
*
*获取下一节点
*
*/
extern HMYLIST_ITER MyListGetNext(HMYLIST hlist, HMYLIST_ITER iter);

/*
*
*获取上一节点
*
*/
extern HMYLIST_ITER MyListGetPrev(HMYLIST hlist, HMYLIST_ITER iter);

/*
*
*获取节点的用户数据
*
*/
extern void * MyListGetIterData(HMYLIST_ITER iter);

/*
*
*链表是否为空
*
*/
extern int MyListIsEmpty(HMYLIST hlist);

/*
*
*弹出头节点
*
*/
extern void * MyListPopHead(HMYLIST hlist);

/*
*
*弹出尾节点
*
*/
extern void * MyListPopTail(HMYLIST hlist);

/*
*
*取出元素个数
*
*/
extern int MyListGetCount(HMYLIST hlist);

#endif






















⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -