++面试题:举例说明set的用法。
考点:理解关联容器set的使用
出现频率:★★★
解析:
我们这里演示set中元素的插入,删除以及遍历操作。程序示例如下:
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main()
{
set <string> strset;
set <string>::iterator si;
strset.insert("cantaloupes"); //插入6个元素,其中有两个grapes
strset.insert("apple");
strset.insert("orange");
strset.insert("banana");
strset.insert("grapes");
strset.insert("grapes");
strset.erase(“banana”);
for (si=strset.begin(); si!=strset.end(); si++)
{
cout << *si << " "; //打印set中所有元素
}
cout << endl;
return 0;
}
下面是示例程序的说明:
q 代码10~15行,往set集合中分别插入6元素,由于字符串“grapes”重复了,因此实际插入的只有5个字符串。
q 代码16行,删除集合中内容为“banana”的元素。
q 代码17行到20行,使用迭代子si遍历set集合。
执行结果:
apple cantaloupes grapes orange