金海佳学C++primer 练习9.4/9.5

来源:互联网 发布:增加usb电流软件 编辑:程序博客网 时间:2024/06/05 23:53

给定区间查找值

Practice9.4

#include <iostream>#include <string>#include <vector>#include <algorithm>#include <list>#include <iterator>#include <cmath>#include <cstring>#include <forward_list>using namespace std;void print(vector<int> ivec) {    for(auto i : ivec) {        cout << i << " ";    }    cout << endl;}bool find_value(vector<int>::iterator b, vector<int>::iterator e, int value){    // "it != e" !!!    // [  )    for(auto it = b; it != e; it++) {        if(*it == value) {            return true;        }    }    return false;}int main() {    vector<int> ivec = {0, 1, 3, 4, 5, 6, 7, 8};    auto b = ivec.begin();    auto e = ivec.begin();    e++, e++, e++, e++;    cout << "b -----> " << *b << endl;    cout << "e -----> " << *e << endl;    /* test1 */    cout << find_value(b,e,3) << endl;    /* test2 */    cout << find_value(b,e,12) << endl;     return 0;}

Output

b -----> 0e -----> 510

Practice9.5

#include <iostream>#include <string>#include <vector>#include <algorithm>#include <list>#include <iterator>#include <cmath>#include <cstring>#include <forward_list>using namespace std;void print(vector<int> ivec) {    for(auto i : ivec) {        cout << i << " ";    }    cout << endl;}vector<int>::iterator find_value_2(vector<int>::iterator b, vector<int>::iterator e, int value){    // "it != e" !!!    // [  )    for(auto it = b; it != e; it++) {        if(*it == value) {            return it;        }    }    cout << "Find nothing" << endl;    return b;}int main() {    vector<int> ivec = {0, 1, 3, 4, 5, 6, 7, 8};    auto b = ivec.begin();    auto e = ivec.begin();    e++, e++, e++, e++;    cout << "b -----> " << *b << endl;    cout << "e -----> " << *e << endl;    /* test1 */    cout << *(find_value_2(b,e,3)) << endl;    /* test2 */    cout << *(find_value_2(b,e,12)) << endl;        return 0;}

Oupout

b -----> 0e -----> 53Find nothing0

Keep on going never give up

原创粉丝点击