stl常用算法_查找相关

来源:互联网 发布:mac 设置 单面打印 编辑:程序博客网 时间:2024/06/06 00:45

传智扫地僧课程学习笔记。


void main44_adjacent_find(){vector<int> v1;v1.push_back(1);v1.push_back(2);v1.push_back(2);v1.push_back(3);v1.push_back(5);vector<int>::iterator it =  adjacent_find(v1.begin(), v1.end() );if (it == v1.end()){cout << "没有找到 重复的元素" << endl;}else{cout << *it << endl;}int index = distance(v1.begin(), it);cout << index << endl;}// 0 1  2  3 ......n-1//二分法 1K = 1024  10次  速度快void main45_binary_search(){vector<int> v1;v1.push_back(1);v1.push_back(3);v1.push_back(5);v1.push_back(7);v1.push_back(9);bool b = binary_search(v1.begin(), v1.end(), 7);if (b == true){cout << "找到了" << endl;}else{cout << "没到了" << endl;}}void main46_count(){vector<int> v1;v1.push_back(1);v1.push_back(3);v1.push_back(5);v1.push_back(7);v1.push_back(7);v1.push_back(9);v1.push_back(7);int num = count(v1.begin(), v1.end(), 7);cout << num << endl;}bool GreatThree(int iNum){if (iNum > 3){return true;}return false;}void main46_countif(){vector<int> v1;v1.push_back(1);v1.push_back(3);v1.push_back(5);v1.push_back(7);v1.push_back(7);v1.push_back(9);v1.push_back(7);int num = count_if(v1.begin(), v1.end(), GreatThree);cout << "num:" << num << endl;}void main47_find_findif(){vector<int> v1;v1.push_back(1);v1.push_back(3);v1.push_back(5);v1.push_back(7);v1.push_back(7);v1.push_back(9);v1.push_back(7);vector<int>::iterator it =  find(v1.begin(), v1.end(), 5);cout << "*it:" << *it << endl; //第一个大于3的位置vector<int>::iterator it2 =  find_if(v1.begin(), v1.end(), GreatThree);cout << "*it2:" << *it2 << endl; }


0 0