写在前面:STL大法好!
容器set,可以实现排序,插入元素不能重复(所以可能插入失败)
接下来我们看一下set的基本用法
begin() 返回set容器的第一个元素的地址
end() 返回set容器的最后一个元素地址
clear() 删除set容器中的所有的元素
empty() 判断set容器是否为空
max_size() 返回set容器可能包含的元素最大个数
size() 返回当前set容器中的元素个数
erase() 删除迭代器指针it处元素
1 #include <iostream> 2 #include <set> 3 4 using namespace std; 5 6 int main() 7 { 8 set<int> s;//定义类型啊! 9 s.insert(1); 10 s.insert(2); 11 s.insert(3); 12 s.insert(1); 13 cout<<"set 的 size 值为 :"<<s.size()<<endl; 14 cout<<"set 的 maxsize的值为 :"<<s.max_size()<<endl; 15 cout<<"set 中的第一个元素是 :"<<*s.begin()<<endl; 16 cout<<"set 中的最后一个元素是:"<<*s.end()<<endl; 17 s.clear(); 18 if(s.empty()) 19 { 20 cout<<"set 为空 !!!"<<endl; 21 } 22 cout<<"set 的 size 值为 :"<<s.size()<<endl; 23 cout<<"set 的 maxsize的值为 :"<<s.max_size()<<endl; 24 return 0; 25 }
再说遍历
迭代器嗯对.
1 #include <iostream> 2 #include<set> 3 using namespace std; 4 5 6 int main() 7 { 8 set<int> s; //创建一个int类型的set 9 10 s.insert(10); //插入数据 11 s.insert(30); 12 s.insert(20); 13 s.insert(40); 14 15 //遍历数据,用迭代器遍历数据 16 for (set<int>::iterator it = s.begin(); it != s.end(); ++it) 17 { 18 cout << *it << endl; 19 } 20 //这里用到了set中的元素已经从小到大排好序的性质 21 22 return 0; 23 }