C++ STL Set 快速入门
2018-07-20 来源:open-open
Set
一 、简介
set是一个集合,其中元素有序,排序的方式按照指定的方式来排序,不指定则默认按照升序排列set中元素不可以相同;比较两个set相同,他们的排序方式和元素都要相同;不能直接改变元素的值,需要先删除,再插入。
set经常用来保存一组数据,他们获得和使用的顺序无关紧要,只需要考虑是否是在集合中即可。
二 、示例代码
#include <iostream> #include <iterator> #include <algorithm> #include <set> using namespace std; struct classcomp { bool operator()(const char& lhs,const char& rhs) { return lhs > rhs; } }; char array[] = {'e','f','g'}; int _tmain(int argc, _TCHAR* argv[]) { set<char,classcomp> myset; myset.insert('a'); myset.insert('b'); myset.insert('c'); copy(myset.begin(),myset.end(),ostream_iterator<char>(cout," ")); cout<<endl; cout<<myset.insert('d').second<<endl; //Now a b c d myset.insert(array,array+3); copy(myset.begin(),myset.end(),ostream_iterator<char>(cout," ")); cout<<endl; //Now g f e d c b a myset.erase('d'); //Now g f e c b a myset.erase(myset.begin()); //Now f e c b a copy(myset.begin(),myset.end(),ostream_iterator<char>(cout," ")); cout<<endl; //myset.clear();//清空set set<char,classcomp>::iterator it= myset.begin(); if ((it = myset.find('k')) == myset.end()) { cout<<"Can not find K in this set"<<endl; } cout<<"Current size is :"<<myset.size()<<endl; }
标签: 代码
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:android中文件操作
下一篇: android中WebView调用js
最新资讯
热门推荐