class set {
public:
set(){
MaxSize = elem.size();
}
bool contains(int x) {
vector<int>::iterator pos;//迭代器
pos = find(elem.begin(), elem.end(), x);//模板函数,直接就可以用?迭代器,迭代器,值
if (pos == elem.end()) {
return 0;
}
return 1;
}
bool insert(int x) {
vector<int>::iterator pos;
pos = find(elem.begin(), elem.end(), x);
if (pos == elem.end()) {
++MaxSize;
elem.push_back(x);//在c++中,两者都表示添加,其中push_back()表示在vector的末尾元素添加一个元素,而insert可以在某个位置添加一个元素,如v.insert(v.begin() + 2, 10);
return 1;
}
return 0;
}
bool del(int x) {
vector<int>::iterator pos;
pos = find(elem.begin(), elem.end(), x);
if (pos != elem.end()) {
--MaxSize;
elem.erase(pos);//删除的是迭代器所在位置
return 1;
}
return 0;
}
void makeEmpty() {
MaxSize = 0;
elem.clear();
}
private:
vector<int>elem;
int MaxSize;
};
集合类的建立(基于vector)
最新推荐文章于 2025-12-06 09:52:47 发布
本文介绍了一个使用C++实现的简单集合类,该类利用std::vector作为底层数据结构,并提供了基本的操作方法,如插入、查找和删除等。通过迭代器进行元素定位,实现了高效的集合操作。
526

被折叠的 条评论
为什么被折叠?



