zoukankan      html  css  js  c++  java
  • 一个FLAG #16# 优先队列

    例子

    #include <iostream>
    #include <queue>
    #include <vector>
    using namespace std;
    
    struct cmp {
        bool operator() (const int a, const int b) const {
            return a % 10 < b % 10;  
        }
    };
    
    int main()
    {
        // 默认的优先队列。数值越大优先级越高 
        priority_queue<int> pq;
        pq.push(2);
        pq.push(123);
        pq.push(1235);
        pq.push(55);
        pq.push(1230);
        cout << pq.top() << endl; pq.pop(); // => 1235
        cout << pq.top() << endl; pq.pop(); // => 1230
        cout << pq.top() << endl; pq.pop(); // => 123
        cout << pq.top() << endl; pq.pop(); // => 55
        cout << pq.top() << endl; pq.pop(); // => 2
        
        cout << pq.top() << endl; pq.pop(); // => 2
        cout << pq.top() << endl; pq.pop(); // => 2
        cout << pq.top() << endl; pq.pop(); // => 2
        
        cout << " ==================================== == =" << endl;
        // 越小的整数优先级越高
        priority_queue<int, vector<int>, greater<int> > pq2; 
        pq2.push(2);
        pq2.push(123);
        pq2.push(55);
        cout << pq2.top() << endl; pq2.pop(); // => 2
        cout << pq2.top() << endl; pq2.pop(); // => 55
        cout << pq2.top() << endl; pq2.pop(); // => 123
        
        cout << " ==================================== == =" << endl;
        // 自定义的优先队列,个位越大的优先级越高 
        priority_queue<int, vector<int>, cmp> pq3;
        pq3.push(2);
        pq3.push(123);
        pq3.push(55);
        cout << pq3.top() << endl; pq3.pop(); // => 55
        cout << pq3.top() << endl; pq3.pop(); // => 123
        cout << pq3.top() << endl; pq3.pop(); // => 2
            
        return 0;
    }
  • 相关阅读:
    pycharm运行html文件报404错误
    css3 鼠标悬浮动画效果
    子代选择器和后代选择器的区别
    前端入门
    爬虫Scrapy框架
    BeautifulSoup
    爬虫之selenium使用
    爬虫之BeautifulSoup
    urllib模块
    爬虫基础
  • 原文地址:https://www.cnblogs.com/xkxf/p/12690174.html
Copyright © 2011-2022 走看看