C++集合类 数组实现

来源:百度知道 编辑:UC知道 时间:2024/05/15 02:09:53
//此程序通过数组来定义集合类,虽不如链表高级,
//但是也蛮有趣味的,只是在下才疏学浅,运行时有时会出现错误
//注意:是有时会出错,程序不稳定
//望大虾们给予赐教,小弟不甚感激!
//原创:安徽大学 07计算机学院

#include<iostream.h>
#define Max 10
int i=0,j=0;
class Set
{
private:
int elems[Max];
int pc;
public:
Set(){pc=0;elems[0]='\0';}
Set(Set &s); // 对象引用作为参数
void set();
int size(Set S);
void isfull(Set S);
void isempty(Set S);
int ismemberof(int n);
int add(int n);
int delet(int n);
Set bingji(Set A,Set B);
Set jiaoji(Set A,Set B);
void display();
};

void Set::set()//初始化
{
int n,m,flag=0;
cout<<"数组元素的个数(N<=10):";
cin>>n;
cout<<"输入数组元素:";
for(i=0;i<n;i++)
{cin>>m;
for(j=0;j<pc;j++)
if(m==elems[j]) {flag=1;break;}
if(!flag)
{
elems[i]=m;
pc++;}
}
}

//看看符合你要求不? 

#include <iostream> 

using namespace std; 

const int Max=100; 

//------------------------------------------------------ 

class Set 

unsigned int len; 

int Elem[Max]; 

public: 

//Constructor 

Set(); 

Set(const Set & SetObj); 

inline bool isFull() const; 

inline bool isEmpty() const; 

inline unsigned int size() const; 

inline int isMemberOf(int nElem) const;//返回位置 

bool addElem(int nElem); 

bool delElem(int nElem); 

Set Union(const Set & SetB); 

Set InSection(const Set & SetB); 

void display() const; 

void Inp