#include <bits/stdc++.h>
using namespace std;
bool greater3(int value){
return value>3;
}
int main(){
vector<int> v;
int arr[] = {1,2,3,4,5};
vector<int> test(arr,arr+sizeof(arr)/sizeof(int));
v.insert(v.begin(),test.begin(),test.end());
int num = count(v.begin(),v.end(),2);
cout<<"等于2的數量有:"<<num<<endl;
num = count_if(v.begin(),v.end(),greater3);
cout<<"大于3的數量有:"<<num<<endl;
int arr2[] = {3,4};
vector<int> test2(arr2,arr2+sizeof(arr2)/sizeof(int));
vector<int>::iterator si = search(v.begin(),v.end(),test2.begin(),test2.end());
if(si!=v.end()){
cout<<"{3,4},第一個起始位置為:"<<si-v.begin()<<",第一個元素:"<<*si<<endl;
}
vector<int>::iterator si2 = search_n(v.begin(),v.end(),1,4);
if(si2!=v.end()){
cout<<"連續1個4的第一個位置為:"<<si2-v.begin()<<endl;
}
vector<int>::iterator fi = find(v.begin(),v.end(),2);
if(fi!=v.end()){
cout<<"2的第一個位置為:"<<fi-v.begin()<<endl;
}
vector<int>::iterator fi2 = find_if(v.begin(),v.end(),greater3);
if(fi2!=v.end()){
cout<<"大于3的第一個位置為:"<<fi2-v.begin()<<",值為:"<<*fi2<<endl;
}
vector<int>::iterator min_ = min_element(v.begin(),v.end());
vector<int>::iterator max_ = max_element(v.begin(),v.end());
cout<<"最大值="<<*max_<<",最小值="<<*min_<<endl;
return 0;
}