C++heapスタックの使用

7483 ワード

スタックの基本操作
  • make_heap()デフォルト最大スタック、最小スタックパラメータgreater()
  • pop_Heap()はまずpopし、次に容器から
  • を削除する.
  • push_Heap()はまず容器に加え、push
  • sort_heap()
  • #include
    #include
    #include
     
    using namespace std;
    template<typename Container>
    void PrintContainer(Container container)
    {
        for (auto i : container)
        {
            cout << i << ' ';
        }
        cout << endl;
    }
    int main()
    {
        int a[] = {10, 50, 40, 20, 30};
        vector<int> ivec(a, a+5);
        PrintContainer(ivec);
     
        make_heap(ivec.begin(), ivec.end(), greater<int>());//  
        PrintContainer(ivec);
     
        pop_heap(ivec.begin(), ivec.end(), greater<int>());// pop,        
        ivec.pop_back();
        PrintContainer(ivec);
     
        ivec.push_back(100);//       , push
        push_heap(ivec.begin(), ivec.end(), greater<int>());
        PrintContainer(ivec);
     
        sort_heap(ivec.begin(), ivec.end());
        PrintContainer(ivec);
     
        return 0;
    }