#ifndef _LIST_H
#define _LIST_H
#include<stdbool.h>
/*特定于程序的说明*/
#define TSIZE 45
struct film
{
char title[45];
int rating;
};
typedef struct film Item;
typedef struct node
{
Item item;
struct node * next;
}Node;
typedef Node * List;
/*函数原型*/
/*操作:初始化一个列表*/
/*操作前:plist指向一个列表*/
/*操作后:该列表被初始化为空列表*/
void InitializeList(List * plist);
/*操作:切断列表是否为空列表]*/
/*操作前:l指向一个已初始化的列表*/
/*操作后:如果该列表为空则返回ture;否则返回false*/
bool ListIsEmpty(List l);
/*操作:确定列表是否已满*/
/* 操作前:l指向一个已初始化的列表*/
/*操作后:如果该里边已满返回ture;否则返回false*/
bool ListIsFull(List l);
/*操作:确定列表中项目的个数*/
/*操作前:l指向一个已初始化的列表*/
/*操作后:返回该列表中的项目数*/
unsigned int ListItemCount(List l);
/*操作:向列表中添加一个项目* /
/*操作前:plist指向一个已初始化的列表*/
/*操作后:如果列表不为空,在其尾部添加一个新节点,函数返回ture,否则返回false*/
bool AddItem(Item, List * plist);
/*操作:把一个函数作用于列表中的每个项目* /
/*操作前:l是一个已初始化的列表,pfun指向一个函数,该函数接受一个Item参数并且无返回值*/
/*操作后:pfun指向的函数被作用到列表中的每个项目一次*/
void Traverse(List l, void(*pfun)(Item item));
/*操作:释放已分配的内存(如果有)*/
/*操作前:plist指向一个已初始化的列表*/
/*操作后:为该列表分配的内存已被释放并且该列表被置为空列表*/
void EmptyTheList(List * plist);
#endif
2016.09.28 list.h
最新推荐文章于 2023-10-24 08:00:00 发布