⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search2.cpp

📁 stl自带源码
💻 CPP
字号:
/* The following code example is taken from the book * "The C++ Standard Library - A Tutorial and Reference" * by Nicolai M. Josuttis, Addison-Wesley, 1999 * * (C) Copyright Nicolai M. Josuttis 1999. * Permission to copy, use, modify, sell and distribute this software * is granted provided this copyright notice appears in all copies. * This software is provided "as is" without express or implied * warranty, and with no claim as to its suitability for any purpose. */#include "algostuff.hpp"using namespace std;// checks whether an element is even or oddbool checkEven (int elem, bool even){    if (even) {        return elem % 2 == 0;    }    else {        return elem % 2 == 1;    }}int main(){    vector<int> coll;    INSERT_ELEMENTS(coll,1,9);    PRINT_ELEMENTS(coll,"coll: ");    /* arguments for checkEven()     * - check for: ``even odd even''     */    bool checkEvenArgs[3] = { true, false, true };    // search first subrange in coll    vector<int>::iterator pos;    pos = search (coll.begin(), coll.end(),       // range                  checkEvenArgs, checkEvenArgs+3, // subrange values                  checkEven);                     // subrange criterion    // loop while subrange found    while (pos != coll.end()) {        // print position of first element        cout << "subrange found starting with element "             << distance(coll.begin(),pos) + 1             << endl;        // search next subrange in coll        pos = search (++pos, coll.end(),              // range                      checkEvenArgs, checkEvenArgs+3, // subr. values                      checkEven);                     // subr. criterion    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -