lexico1.cpp

来自「stl自带源码」· C++ 代码 · 共 65 行

CPP
65
字号
/* 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;void printCollection (const list<int>& l){    PRINT_ELEMENTS(l);}bool lessForCollection (const list<int>& l1, const list<int>& l2){    return lexicographical_compare                (l1.begin(), l1.end(),   // first range                 l2.begin(), l2.end());  // second range}int main(){    list<int> c1, c2, c3, c4;    // fill all collections with the same starting values    INSERT_ELEMENTS(c1,1,5);    c4 = c3 = c2 = c1;    // and now some differences    c1.push_back(7);    c3.push_back(2);    c3.push_back(0);    c4.push_back(2);    // create collection of collections    vector<list<int> > cc;    cc.push_back(c1);    cc.push_back(c2);    cc.push_back(c3);    cc.push_back(c4);    cc.push_back(c3);    cc.push_back(c1);    cc.push_back(c4);    cc.push_back(c2);    // print all collections    for_each (cc.begin(), cc.end(),              printCollection);    cout << endl;    // sort collection lexicographically    sort (cc.begin(), cc.end(),    // range          lessForCollection);      // sorting criterion    // print all collections again    for_each (cc.begin(), cc.end(),              printCollection);}

⌨️ 快捷键说明

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