zoukankan      html  css  js  c++  java
  • 栈 队列 优先队列 STL

    #include<stack>  //头文件

    stack<char> st;  //定义

    st.push(str1[0]);  //入栈
    cur=st.top ();    //取栈顶值
    st.pop();      //出栈
    st.empty ()//空为true
     
     
    队列
    #include<queue>
    queue<char>que;
    que.push(a);
    a=que.front();
    que.pop();
    que.empty ()

    优先队列
    bool operator < (const coor &a, const coor &b)
    {
        return a.time > b.time; //从小到大排序,修改为最小堆,取最小值。
    }priority_queue<coor>que;
    que.push(a);
    a=que.top();//  默认为最大堆,取最大值。
    que.pop();
    que.empty ()
    
    
    以下对vector、list、deque容器通用,这里以list容器为例,注意访问元素时vector、deque可用下标直接访问,但对list不行
    list<line> dlist;
    vector<int> c;
    line in;
    list<line>::iterator iter;//定义一个指向元素的迭代器
    插入:
    dlist.insert(iter,t)//在iter所指元素之前插入值为t的元素
    dlist.insert(iter,n,t)//在iter所指元素之前插入n个值为t的元素
    dlist.push_back(in);//在尾端插入
    dlist.push_front(in);//在头端插入
    访问:
    dlist.back();//最后一个元素
    dlist.front();//第一个元素
    for(iter=dlist.begin();iter!=dlist.end();iter++)//访问元素
    {
    }
    c[iter] //list不提供该操作
     
    删除:
    iter=dlist.erase(iter);//删除元素 返回指向删除元素的下一个元素
    iter=dlist.erase(iter1,iter2);//删除iter1,iter2之间的所有元素,返回指向删除段的下一个元素
    c.pop_back();//删除最后一个元素
    c.pop_front();//删除第一个元素,只适用于 list 或 deque 容器
    dlist.clear();//清空容器
  • 相关阅读:
    windows上docker部署springboot多实例
    oracle 如何搜索当前用户下所有表里含某个值的字段?
    VS2010/OpenGL配置
    (译)Minimal Shader(最小的着色器)
    (译)Cg Programming/Unity(Cg编程/Unity)
    (转)在Unity3D中控制动画播放
    Unity3d中使用assetbundle
    C# 操作 sqlite
    Unity3d网格合并
    在Unity3d中解析Lua脚本的方法
  • 原文地址:https://www.cnblogs.com/zxj015/p/2740254.html
Copyright © 2011-2022 走看看