zoukankan      html  css  js  c++  java
  • STL 自学

    STL

    一、vector动态数组

    1 包含头函数 #include<vector>

    2 函数的声明: vector<int> v;

           vector<int> v[maxn];

           vector<int> v(100,1); //100个1

    3 操作常用:

      v.push_back(x); 在最后添加一个元素x

      v.pop_back(); 删去最后一个元素

      v.begin(); 返回第一个元素的指针

      v.end();返回最后一个元素的指针

      v.at(n);返回n位置的元素

      v.clear();清空数组

      v.size();返回数组长度

      v.front();返回第一个元素

      v.back();返回最后一个元素

      v.empty();如果数组为空返回true,否则返回false

      v.resize(n);重新定义数组大小为n

    二、set 元素

    1、包含头函数: #include<set>

    2、函数声明: set<int> s;   (string等)

    3、set是集合,不会包含重复的元素。因此可以用来查找统计不重复的元素

    4、操作常用:

      s.insert(x);插入元素x

      s.erase(x);删除元素x(如果x存在)

      if (s.find(x)!=s.end())  判断元素是否属于集合(因为如果不属于返回值为s.end())

      s.size();返回集合长度

      s.empty();如果集合为空,则返回true

      s.clear();清空集合

      s.begin();指向第一个元素位置 

      s.end();指向最后一个元素后面

      set<int>::iterator it; 定义一个指针

      s.count(i); i 在集合中,返回 1

    三、map 映射

    1、包含头函数: #include<map>

    2、 函数声明: map<int,string> m1;

           map<string,int> m2;

    3 map是将数据进行一对一的对应,使其更好描述。

    4 操作常用:

      (1)读入数据:m1[1]="the_first_one";

      (2)数据大小:len=m.size();

      (3) 数据遍历:for(int i=1;i<=len;i++) cout<<m1[i];

      (4)数据查找:m.count() ;不能返回位置,只返回true、false;

             m.find(); 返回位置指针,不在中就返回m.end(); 

      (5)数据清空:m.clear();

     

    四、queue 队列

    1、包含头函数 #include<queue>

    2、声明: queue<int> q;

    3、queue在队列的使用中,较自定义的数组更方便,所以常使用在广搜中。

    4、操作常用:

      q.empty();如果队列为空则返回true

      q.front();返回队列第一个值

      q.pop();删除队列最后一个

      q.push(x);添加x到队列最后

      q.size();返回队列长度

  • 相关阅读:
    大数据内存模型(二级指针)
    多线程函数指针
    返回函数指针的函数
    动态分配二维数组指针
    俄罗斯方块学习笔记
    tailf
    tail
    cut
    split
    paste
  • 原文地址:https://www.cnblogs.com/lx0319/p/5787145.html
Copyright © 2011-2022 走看看