zoukankan      html  css  js  c++  java
  • STL中heap用法

    #include<cstdio>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int a[20]={0,29,23,20,22,17,15,26,51,19,12,35,40};
    int cmp(int a,int b)//小根堆 
    {
        return a>b;
    }
    void make()
    {
        make_heap(&a[1],&a[13],cmp);
        for(int i=1;i<=12;i++)
          printf("%d ",a[i]);
        printf("
    ");
    }
    void push()
    {
        a[13]=8;
        push_heap(&a[1],&a[14],cmp);
        for(int i=1;i<=13;i++)
          printf("%d ",a[i]);
        printf("
    ");
    }
    void pop()
    {
        pop_heap(&a[1],&a[14],cmp);
        for(int i=1;i<=12;i++)
          printf("%d ",a[i]);
        printf("
    ");
    }
    void px()
    {
        sort(&a[1],&a[13]);//排序时默认从小到大排 
        for(int i=1;i<=12;i++)
          printf("%d ",a[i]);
        printf("
    ");
    }
    int main()
    {
        make();//制造一个堆 
        push();//在堆中放入元素 
        pop();//将堆尾元素放到堆顶后进行维护,堆顶元素放到堆尾 
        px();//排序 
        return 0;
    } 
    View Code
  • 相关阅读:
    媒体查询漫谈——@media Queries
    JavaScript工具函数集
    什么是BFC、IFC、GFC和FFC
    HTTP与HTTPS的区别
    reflow 和 repaint
    客户端检测
    ajax
    批量删除
    数据访问
    登录主页面代码
  • 原文地址:https://www.cnblogs.com/harden/p/5708106.html
Copyright © 2011-2022 走看看