zoukankan      html  css  js  c++  java
  • [STL]弱渣的stl之旅

    FIFO queue:

    先进先出队列:

    #include<queue>
    using namespace std;
    int main()
    {
        queue<int>que;//创造一个队列
        for(int i=1;i<=10;i++)
            que.push(i);//放数
        int t=que.front();//第一个数。
        int t=que.back();//最后一个数。
        int t=que.size();//有几个数
        while(!que.empty())//看是否为空
        {
            que.pop();//踢数
        }
        return 0;
    }

    set:

    集合是按特定顺序存储唯一元素的容器。

    在集合中,元素的值也标识它,并且每个值必须是唯一的。 集合中元素的值不能在容器中修改一次(元素总是const),但可以在容器中插入或删除它们。如果修改这个值的话,就删除这个值,再增加。

     1 #include<set>
     2 using namespace std;
     3 int main()
     4 {
     5     set<int>s;//普通用法创造一个set集合s
     6     //第二种创造方式,直接把数组放进set里
     7     int a[]={1,2,3,4,5};
     8     set<int>s(a,a+5);
     9     //插入数
    10     s.insert(10);
    11     //it迭代器  *it是数
    12     //s.begin() 第一个开始的位置
    13     //s.end() 最后一个位置
    14     set<int>::iterator it;
    15     for(it=s.begin();it!=s.end();it++)
    16         cout<<*it<<endl;
    17     //判断是否为空
    18     while(!s.empty())
    19     {
    20 
    21     }
    22     //有几个数
    23     int t=s.size();
    24     //删除数
    25     s.erase(10);
    26     s.erase(it);
    27     s.erase(it,s.end());
    28     //集合清空
    29     s.clear();
    30     //在集合中找到数的位置
    31     it=s.find(10);
    32     //判断这个数在不在集合里面
    33     if(s.count(10)==0)
    34     {
    35 
    36     }
    37     //二分
    38     it=s.lower_bound(10);//第一个大于等于10的位置
    39     it=s.upper_bound(10);//第一个大于10的位置

    关于二分数组:

        upper_bound(a,a+n,50)-lower_bound(a,a+n,10);

    map:

     1 #include<map>
     2 using namespace std;
     3 int main()
     4 {
     5     map<char,int>m;
     6     map<char,int>::iterator it;
     7     m['b']=100;
     8     m['a']=200;
     9     for(it=m.begin();it!=m.end();it++)
    10         cout<<it->first<<" "<<it->second<<endl;
    11     //map按照第一个first排序
    12     while(!m.empty())
    13     {
    14 
    15     }
    16     int t=m.size();
    17     //map的插入
    18     mp.insert(pair<char,int>('c',300));
    19     it=m.find('a');
    20     m.erase(it);
    21     m.erase(it,m.end());
    22     m.clear();
    23     //这都是第一个first
    24     if(m.count(a)>0)
    25     {
    26 
    27     }
    28     return 0;
    29 }
    No matter how you feel, get up , dress up , show up ,and never give up.
  • 相关阅读:
    LOJ 2553 「CTSC2018」暴力写挂——边分治+虚树
    hdu 1028 & hdu 1398 —— 整数划分(生成函数)
    bzoj 4827 [Hnoi2017] 礼物 —— FFT
    bzoj 4503 两个串 —— FFT
    bzoj 3527 [Zjoi2014] 力 —— FFT
    bzoj 3160 万径人踪灭 —— FFT
    bzoj 2194 快速傅立叶之二 —— FFT
    bzoj 2179 FFT快速傅立叶 —— FFT
    洛谷 P3803 多项式乘法(FFT) —— FFT
    CF 1009 F Dominant Indices —— 长链剖分+指针
  • 原文地址:https://www.cnblogs.com/Kaike/p/10294860.html
Copyright © 2011-2022 走看看