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)
最新推荐文章于 2024-10-19 15:29:34 发布