//太多了.写不完啊.
#ifndef __COLLECTION
#define __COLLECTION
template
{
int MaxLength; //集合的最大长度。
int Length; //集合长度
DataType *Element; //集合数组
public:
int Len(){return Length;};
TCollection(int Max=256); //无参数的构造函数
~TCollection(); //析构函数
bool Contain(DataType); //判别集合是否包含某个元素
void operator<<(DataType); //重载"<<"
void operator>>(DataType); //重载">>"
DataType operator[](int); //重载[]
int Location(DataType); //查找元素在集合中的位置
int Error; //错误代码
void RemoveElement(int); //删除指定序号的元素。
};
//=====================================================================
//无参数的构造函数
template
{
MaxLength=Max;
Element=new DataType[Max];
Length=0;
Error=0;
}
//--------------------------------------------------------------------
//---------------------------------------------------------------------
template
{
delete []Element;
}
//---------------------------------------------------------------------
//判别集合是否包含某个元素
template
{
return (Location(t)==-1)?false:true;
}
//----------------------------------------------------------------------
//查找元素在集合中的位置
template
{
for(int i=0;i
return i;
return -1;
}
//---------------------------------------------------------------------
//用[]返回指定下标的元素
template
{
if(index
else Error|=1; //设置错误代码:边界溢出=1
return Element[0];
}
//---------------------------------------------------------------------
//用<<向集合写入值
template
{
if((!Contain(ele1))&&Length
}
//---------------------------------------------------------------------
template
{
if(index>=Length||index<0)return;
int i;
for(i=index;i
Length--;
}
//---------------------------------------------------------------------
//用>>从集合移去值
template
{
int i=Location(ele1);
if(i>=0)
RemoveElement(i);
}
//---------------------------------------------------------------------
#endif
//下面是使用示例
#include
#include
#include
#include "collection.cpp"
//---------------------------------------------------------------------------
void main()
{
TCollection
int i;
for(i=0;i<52;i++)//把0~51加入集合中
poker< for(i=0;i<52;i+=2)//移除集合中的偶数
poker>>i;
for(i=0;i
cout<