• c++ STL queue:deque+优先队列


    /* queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,
    容器类型是可选的,默认为deque队列   类型。
    一:定义queue(要有头文件#include <queue>)
    queue<int> q1;queue<double> q2;
    二:基本函数
    back()返回一个引用,指向队列的最后一个元素。
    empty()函数返回真(true)如果队列为空,否则返回假(false)。
     front()返回队列第一个元素的引用。
     pop()函数删除队列的一个元素
     push() 在末尾加入一个元素
     size() 返回队列中元素的个数
    三:示例代码
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int e,n,m;
     queue<int> q1;
     for(int i=0;i<10;i++)
         q1.push(i);
     if(!q1.empty()) 
      cout<<"dui lie  bu kongn";
     n=q1.size();
     cout<<n<<endl; 
     m=q1.back();
     cout<<m<<endl; 
     for(int j=0;j<n;j++)    { 
     e=q1.front();
     cout<<e<<" ";   
     q1.pop();    }   
     cout<<endl; 
     if(q1.empty()) 
     cout<<"dui lie  bu kongn"; 
     system("PAUSE"); 
      return 0;}

    优先队列
    优先队列容器与队列一样,只能从队尾插入元素,从队首删除元素。
    但是它有一个特性,就是队列中最大的元素总是位于队首,
    所以出队时,并非按照先进先出的原则进行,而是将当前队列中最大的元素出队。
    这点类似于给队列里的元素进行了由大到小的顺序排序。
    元素的比较规则默认按元素值由大到小排序,可以重载“<”操作符来重新定义比较规则。
    定义类型:与普通队列一样
     基本操作:
    empty()      如果队列为空,则返回真
    pop()    删除对顶元素,删除第一个元素
    push()        加入一个元素
    size()      返回优先队列中拥有的元素个数
    top()     返回优先队列对顶元素,返回优先队列中有最高优先级的元素
     
  • 相关阅读:
    VMware搭建VMware ESXi 6.7
    77. Combinations
    47. Permutations II
    system design
    37. Sudoku Solver
    12月9日学习日志
    12月8日学习日志
    12月7日学习日志
    12月6日学习日志
    12月5日学习日志
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/11620901.html
Copyright © 2020-2023  润新知