用c++实现创建整型数据set集合,向set依次插入数据23,56,18,23,79,56;使用迭代器输出set集合的数据并观察结果;查找集合中是否存在值56和99;删除集合第一个元素并插入数值88后输出数据。
时间: 2024-02-26 12:57:32 浏览: 51
好的,我来一步步回答你的问题。
首先,我们需要在 C++ 中使用 set 容器,它可以存储一组不重复的元素,并且自动排序。在这里,我们需要存储整型数据,所以创建一个整型 set 集合:
```c++
#include <set>
#include <iostream>
using namespace std;
int main() {
set<int> mySet;
// 向 set 集合中依次插入数据
mySet.insert(23);
mySet.insert(56);
mySet.insert(18);
mySet.insert(23); // 重复的元素将自动被忽略
mySet.insert(79);
mySet.insert(56); // 重复的元素将自动被忽略
return 0;
}
```
接下来,我们可以使用迭代器遍历 set 集合中的元素,并打印输出:
```c++
#include <set>
#include <iostream>
using namespace std;
int main() {
set<int> mySet;
mySet.insert(23);
mySet.insert(56);
mySet.insert(18);
mySet.insert(23);
mySet.insert(79);
mySet.insert(56);
// 使用迭代器遍历 set 集合并打印输出
set<int>::iterator it;
for (it = mySet.begin(); it != mySet.end(); ++it) {
cout << *it << " ";
}
cout << endl;
return 0;
}
```
输出结果为:`18 23 56 79`。我们可以发现,set 集合自动去重并排序了。
接下来,我们需要查找集合中是否存在值为 56 和 99:
```c++
#include <set>
#include <iostream>
using namespace std;
int main() {
set<int> mySet;
mySet.insert(23);
mySet.insert(56);
mySet.insert(18);
mySet.insert(23);
mySet.insert(79);
mySet.insert(56);
set<int>::iterator it;
// 查找集合中是否存在值为 56 和 99
it = mySet.find(56);
if (it != mySet.end()) {
cout << "56 is found in the set" << endl;
} else {
cout << "56 is not found in the set" << endl;
}
it = mySet.find(99);
if (it != mySet.end()) {
cout << "99 is found in the set" << endl;
} else {
cout << "99 is not found in the set" << endl;
}
return 0;
}
```
输出结果为:`56 is found in the set` 和 `99 is not found in the set`。
最后,我们需要删除集合中的第一个元素并插入数值 88,然后再次输出集合中的元素:
```c++
#include <set>
#include <iostream>
using namespace std;
int main() {
set<int> mySet;
mySet.insert(23);
mySet.insert(56);
mySet.insert(18);
mySet.insert(23);
mySet.insert(79);
mySet.insert(56);
set<int>::iterator it;
// 删除集合中的第一个元素并插入数值 88
mySet.erase(mySet.begin());
mySet.insert(88);
// 再次使用迭代器遍历 set 集合并打印输出
for (it = mySet.begin(); it != mySet.end(); ++it) {
cout << *it << " ";
}
cout << endl;
return 0;
}
```
输出结果为:`23 56 79 88`。我们可以看到,集合中的第一个元素 18 已经被删除,而数值 88 被插入到了集合中。
阅读全文