vector中find 的用法
2013-09-05 09:10
302 查看
vector没有自带的find函数,需要用普通的find函数,使用如下:
如果找到一个vector中有、一个vector中没有的元素,如何会快速一点。下面找出nameList2中有的,nameList1中没有的元素。
最后nameList中的即为所求得的结果。
这样将在nameList1和nameList2中共同出现的元素每次找出时将nameList1中的去掉,这样可以缩小搜索的范围,提高检索速度,尤其是当数据量很大的情况下。
vector<string> nameList1; //给nameList1赋值 string name; if(find(nameList1.begin(),nameList1.end(),name) == nameList1.end()){ //没有找到 } else{ //找到了 }
如果找到一个vector中有、一个vector中没有的元素,如何会快速一点。下面找出nameList2中有的,nameList1中没有的元素。
vector<string> nameList1; vector<string> nameList2; vector<string> nameList; //给nameList1、2赋值 省略 vector<string>::iterator itit1; vector<string>::iterator itit2; //for(int i=0;i<nameList2.size();i++){ for(itit2 = nameList2.begin();itit2<nameList2.end();itit2++){ //string name = nameList2.at(i); string name = *itit2; itit1 = find(nameList1.begin(),nameList1.end(),name); if( !(itit1 == nameList1.end())){ //找到了 //nameList2.erase(itit2);注意此处不能erase,不然会导致itit2失效,itit2++时会出错 nameList1.erase(itit1); }else{ //没有找到 nameList.push_back(name); } }
最后nameList中的即为所求得的结果。
这样将在nameList1和nameList2中共同出现的元素每次找出时将nameList1中的去掉,这样可以缩小搜索的范围,提高检索速度,尤其是当数据量很大的情况下。
相关文章推荐
- vector的find_if用法
- UVA - 1102(vector没有find用法)
- vector中find的用法
- C++ find()函数用法(一般用于vector的查找)
- vector中find和find_if的用法
- STL--vector容器find()函数的用法及UVa10474挖的坑
- find命令的基本用法
- oracle:与mysql相似得find_set_in函数用法
- 【linux】find命令的用法
- ArrayList、LinkedList、 Vector、Map 用法比较
- mysql数据库中find_in_set()和in()用法区别
- vector中的find
- STL中的常用的vector,map,set,Sort用法
- Linux find、grep命令详细用法
- STL中vector的用法
- BeautifulSoup_find_ 用法和实例
- Linux中find常见用法示例
- web_find和web_reg_find的用法和区别
- C++ vector用法
- Linux中find常见用法示例以及删除7天前的文件