1、设计和实现整型集合类(Set) 成员函数要求如下: •添加构造西数完成初始化 •能添加一个元素,元素不重复 •能删除一个元素 •输出所有元素 •求两个集合对象的交集 •求两个集合对象的并集 •求两个集合对象的差集
时间: 2023-05-19 22:03:17 浏览: 41
好的,以下是我对于整型集合类(Set)的设计和实现:
class Set {
private:
vector<int> elements;
public:
// 构造函数
Set() {}
// 添加一个元素,元素不重复
void add(int element) {
if (find(elements.begin(), elements.end(), element) == elements.end()) {
elements.push_back(element);
}
}
// 删除一个元素
void remove(int element) {
vector<int>::iterator it = find(elements.begin(), elements.end(), element);
if (it != elements.end()) {
elements.erase(it);
}
}
// 输出所有元素
void print() {
for (int i = 0; i < elements.size(); i++) {
cout << elements[i] << " ";
}
cout << endl;
}
// 求两个集合对象的交集
Set intersection(Set& other) {
Set result;
for (int i = 0; i < elements.size(); i++) {
if (other.contains(elements[i])) {
result.add(elements[i]);
}
}
return result;
}
// 求两个集合对象的并集
Set unionSet(Set& other) {
Set result;
for (int i = 0; i < elements.size(); i++) {
result.add(elements[i]);
}
for (int i = 0; i < other.elements.size(); i++) {
result.add(other.elements[i]);
}
return result;
}
// 求两个集合对象的差集
Set difference(Set& other) {
Set result;
for (int i = 0; i < elements.size(); i++) {
if (!other.contains(elements[i])) {
result.add(elements[i]);
}
}
return result;
}
private:
// 判断集合中是否包含某个元素
bool contains(int element) {
return find(elements.begin(), elements.end(), element) != elements.end();
}
};
这个整型集合类(Set)包含了添加、删除、输出所有元素、求交集、求并集、求差集等功能。希望这个类能够满足您的需求。