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++;}
}
}
//但是也蛮有趣味的,只是在下才疏学浅,运行时有时会出现错误
//注意:是有时会出错,程序不稳定
//望大虾们给予赐教,小弟不甚感激!
//原创:安徽大学 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