zoukankan      html  css  js  c++  java
  • STL中的queue和stack

        做ACM时, 时常用到这两个数据结构, 特别是处理树, 图等操作时, 似乎已经必不可缺了.

        若自我构造, 则耗时巨多, 且效率堪忧. 故灵活运用, 即可如鱼得水, 信手拈来.

        特记之

    #include<stack>

    #include<queue>

    std:queue

    std:stack

    using namespace std;

    queue:

    线性表, 尾进头出

    queue <int> qu;

    qu.push(val);

    qu.pop();

    qu.back();

    qu.front(); //队首

    qu.empty();

    qu.size();


    优先队列, 也包含在#include<queue>中

    priority_queue<int> pqu;

    方法和queue一样, 只是最大的元素位于队首

    如果优先队列的元素类型是结构体,可以通过在结构体中重载“<“操作符的方法来修改优先队列的优先性。 

    struct info {  

    string name;

    float score;  

    bool operator < (const info &a) const  {   //按照score由小到大进行排列,如果要使用由大到小,使用“>”即可   return a.score<score;  }

     }

    此进直接把结构体入队,则会按score的递减顺序排




    stack<int>st;

    stack<int>st1;

    st.push(a);

    st.pop();

    st.top();

    st.empty();

    st.size();

    st.swap(st1);


    每天早上叫醒你的不是闹钟,而是心中的梦~
  • 相关阅读:
    cocos2d-x之物理引擎初试
    cocos2d-x之猜数字游戏
    cocos2d-x之加法计算器
    cocos2d-x之悦动的小球
    cocos2d-x之多个移动的小球
    cocos2d-x之json文件读取初试
    cocos2d-x之xml文件读取初试
    cocos2d-x之使用plist文件初试
    cocos2d-x之文件读写
    cocos2d-x之首选项数据初试
  • 原文地址:https://www.cnblogs.com/vintion/p/4116978.html
Copyright © 2011-2022 走看看