heap1.cpp

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

CPP
48
字号
/* 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;int main(){    vector<int> coll;    INSERT_ELEMENTS(coll,3,7);    INSERT_ELEMENTS(coll,5,9);    INSERT_ELEMENTS(coll,1,4);    PRINT_ELEMENTS (coll, "on entry:           ");    // convert collection into a heap    make_heap (coll.begin(), coll.end());    PRINT_ELEMENTS (coll, "after make_heap():  ");    // pop next element out of the heap    pop_heap (coll.begin(), coll.end());    coll.pop_back();    PRINT_ELEMENTS (coll, "after pop_heap():   ");    // push new element into the heap    coll.push_back (17);    push_heap (coll.begin(), coll.end());    PRINT_ELEMENTS (coll, "after push_heap():  ");    /* convert heap into a sorted collection     * - NOTE: after the call it is no longer a heap     */    sort_heap (coll.begin(), coll.end());    PRINT_ELEMENTS (coll, "after sort_heap():  ");}

⌨️ 快捷键说明

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