c++algorithm库部分函数(1)

it2023-08-05  77

#include<iostream> #include<algorithm> #include<vector> using namespace std; bool isOdd(int i) { return (i % 2 == 1); } void func(int i) { cout << i << endl; } int main() { vector<int> data; data.push_back(10); data.push_back(21); data.push_back(30); //find函数如果找到所需的值则返回该值指针,否则返回end指针 cout << "find()-----------------" << endl; auto a = find(data.begin(), data.end(), 50); cout << *(--a) << endl; //find_if函数根据自定义函数找到符合的第一个值并返回;find_if_not即返回不满足条件的第一个值 cout << "find_if()-----------------" << endl; auto b = find_if(data.begin(),data.end(),isOdd); cout << *b << endl; //for_each函数将容器的值作为回调函数的实参 cout << "for_each()-----------------" << endl; for_each(data.begin(), data.end(), func); //search函数求某一个容器是否包含另一个容器,值的顺序需要相同 vector<int> a1; a1.push_back(10); a1.push_back(20); a1.push_back(30); int a2[] = {20,30}; auto it1=search(a1.begin(),a1.end(),a2,a2+2); cout << "search()-----------------" << endl; if (it1 != a1.end()) { cout << it1 - a1.begin() << endl; } //search_n函数用于寻找在某一容器中是否存在固定数量的值,且需要连续 int b1[] = {10,20,20,30,40}; vector<int> b2(b1,b1+5); auto it = search_n(b2.begin(),b2.end(),2,20); cout << "search_n()-----------------" << endl; cout << it - b2.begin() << endl; //sort函数排序,默认从小到大 cout << "sort()-----------------" << endl; int b3[] = {1,3,4,2,0}; sort(b3, b3 + 5); for_each(b3,b3+5,func); }

输出结果:

最新回复(0)