1、集合的概念
集合是不同对象的无序聚集。集合有两个重要特点:成员是无序的、每个成员只在集合中出现一次。常使用集合了归类数据。
2、主要应用
数据关联、集合覆盖、集合计算、图、图算法、关系代数
3、集合的实现代码
<span style="font-size:14px;"><span style="font-size:18px;">/*set.h*/
#ifndef SET_H
#define SET_H
#include<stdlib.h>
#include "list.h"
/*implement set as linked lists*/
typedef List Set;
/*public interface*/
#define set_destroy list_destroy
void set_init(Set *set,int (*match)(const void *key1,const void *key2),void (*destroy)(void *data));
int set_insert(Set *set,const void *data);
int set_remove(Set *set,void **data);
int set_union(Set *setu,const Set *set1,const Set *set2);
int set_intersection(Set *seti,const Set *set1,const Set *set2);
int set_differen