zoukankan      html  css  js  c++  java
  • STL的基本操作指令

    list :
    Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.

    assign() 给list赋值
    back() 返回最后一个元素
    begin() 返回指向第一个元素的迭代器
    clear() 删除所有元素
    empty() 如果list是空的则返回true
    end() 返回末尾的迭代器
    erase() 删除一个元素
    front() 返回第一个元素
    get_allocator() 返回list的配置器
    insert() 插入一个元素到list中
    max_size() 返回list能容纳的最大元素数量
    merge() 合并两个list
    pop_back() 删除最后一个元素
    pop_front() 删除第一个元素
    push_back() 在list的末尾添加一个元素
    push_front() 在list的头部添加一个元素
    rbegin() 返回指向第一个元素的逆向迭代器
    remove() 从list删除元素
    remove_if() 按指定条件删除元素
    rend() 指向list末尾的逆向迭代器
    resize() 改变list的大小
    reverse() 把list的元素倒转
    size() 返回list中的元素个数
    sort() 给list排序
    splice() 合并两个list
    swap() 交换两个list
    unique() 删除list中重复的元素

    String类:
    1) string s; //生成一个空字符串s
    2) string s(str) //拷贝构造函数生成str的复制品
    3) string s(str,index) //将字符串str内“始于位置index”的部分当作字符串的初值
    4) string s(str,index, n) //将字符串str内“始于index且长度顶多n”的部分作为字符串的初值
    5) string s(cstr) //将C字符串作为s的初值
    6) string s(chars,chars_len) //将C字符串前chars_len个字符作为字符串s的初值。
    7) string s(n,c) //生成一个字符串,包含n个c字符
    8) string s(str.begin(),str.end()) //以区间begin():end() (不包含end())内的字符作为字符串s的初值
    1) =,assign() //赋以新值
    2) swap() //交换两个字符串的内容
    3)+=,append(),push_back() //在尾部添加字符
    4) insert() //插入字符
    5) erase() //删除字符
    6) clear() //删除全部字符
    7) replace() //替换字符
    8) + //串联字符串
    9)==,!=,<,<=,>,>=,compare() //比较字符串
    10)size(),length() //返回字符数量
    11) max_size() //返回字符的可能最大个数
    12) empty() //判断字符串是否为空
    13) capacity() //返回重新分配之前的字符容量
    14) reserve() //保留一定量内存以容纳一定数量的字符
    15) [ ], at() //存取单一字符
    16)>>,getline() //从stream读取某值
    17) << //将谋值写入stream
    18) copy() //将某值赋值为一个C_string
    19) c_str() //将内容以C_string返回
    20) data() //将内容以字符数组形式返回
    21) substr() //返回某个子字符串
    22)查找函数
    23)begin() end() //提供类似STL的迭代器支持
    24) rbegin() rend() //逆向迭代器
    25) get_allocator() //返回配置器

    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();返回队列长度

    (资料为搜索所得,如有侵权,联系立删)

  • 相关阅读:
    Software Solutions CACHE COHERENCE AND THE MESI PROTOCOL
    CACHE COHERENCE AND THE MESI PROTOCOL
    Multiprocessor Operating System Design Considerations SYMMETRIC MULTIPROCESSORS
    Organization SYMMETRIC MULTIPROCESSORS
    PARALLEL PROCESSING
    1分钟内发送差评邮件
    Secure Digital
    SYMMETRIC MULTIPROCESSORS
    A Taxonomy of Parallel Processor Architectures
    parallelism
  • 原文地址:https://www.cnblogs.com/kangdong/p/8452919.html
Copyright © 2011-2022 走看看