Number *pNext;
};
class NumberSet{private: int m_count;
struct Number *m_head;
struct Number *m_end;
public: NumberSet() { m_count = 0;
m_head=NULL;
m_end=NULL;
} void Append(int pValue) //把一个整型数值插入到集合末尾. { m_count++;
if(m_head==NULL) { m_head = (Number *)malloc(sizeof(Number));
m_head->m_value = pValue;
m_head->pNext = NULL;
m_end = m_head;
} else { m_end->pNext = (Number *)malloc(sizeof(Number));
m_end->pNext->m_value = pValue;
m_end->pNext->pNext = NULL;
} } void clear() //清空集合 { for(m_end=m_head;
m_end!
=NULL;
m_end = m_head->pNext) { m_head = m_end->pNext;
free(m_end);
} m_count=0;
} ~NumberSet() { clear();
} int getNumber(int index) //获取集合中的数值.index为数值元素索引 { if(index<0 || index>m_count-1) return 0;
for(m_end=m_head;
m_end!
=NULL;
m_end=m_end->pNext) { if(index==0) { return m_end->m_value;
} else { index--;
} } } bool replaceNumber(int value,int index) //用一个新数值替换旧数值 { if(index<0 || index>m_count-1) return false;
for(m_end=m_head;
m_end!
=NULL;
m_end=m_end->pNext) { if(index==0) { m_end->m_value=v true;
} else { index--;
} } return false;
} bool IsExisting(int pValue) //判断一个数值是否存在 { for(m_end=m_head;
m_end!
=NULL;
m_e) { if(pValue == m_end->m_value) { return tre;
} int getCount() //获取集合中数值元数的个数 { return m_count;
} 回答人的补充 2009-05-07 00:02 //第二段代码 t * getIntersection(NumberSet *descNS) //求两个集合的交集 { NumberSe = NULL;
if(descNS == NULL) retf(this == descis;
} else { pNumberSet = new NumberSet();
int index=0;
for(m_end=m_head;
m_end!
=NULL;
m_end=m_end->pNext) { index = detCount();
while(index>0) end->m_value==descNS->getNumber(index) && !
pNumberSet->IsExisting(m_end->m_value) ) { pNumberSet->Append(m_end->m_value);
} } } } return pNumberSet;
} void Display() //打印集合元素数值 { printf("count:%d\nnumbers:",m_count);
for(m_end=m_head;
m_end!
=NULL;
m_end=m_end->pNext) { printf("%d ",m_end->m_value);
} }};
void main(){ NumberSet objNS;
objNS.Append(1);
objNS.Append(2);
objNS.Append(3);
NumberSet objNS2;
objNS2.Append(3);
objNS2.Append(4);
objNS.getIntersection(&objNS2)->Display();
//打印交集} 内容来自网友回答
设计一个整数集合类,具有置空、添加元素、判断元素是否在集合中、求交集、输出显示集合元素等功能。
用c++来实现上述功能