zoukankan      html  css  js  c++  java
  • C++ STL (备忘)

    2014-08-04 16:33:57

    (1)  map 

      map定义形式

        map<type1,type2> map_name;

      map的基本操作函数:
          C++ Maps是一种关联式容器,包含“关键字/值”对
          begin()          返回指向map头部的迭代器
          clear()         删除所有元素
          count()          返回指定元素出现的次数
          empty()          如果map为空则返回true
          end()            返回指向map末尾的迭代器
          equal_range()    返回特殊条目的迭代器对
          erase()          删除一个元素
          find()           查找一个元素
          get_allocator()  返回map的配置器
          insert()         插入元素
          key_comp()       返回比较元素key的函数
          lower_bound()    返回键值>=给定元素的第一个位置
          max_size()       返回可以容纳的最大元素个数
          rbegin()         返回一个指向map尾部的逆向迭代器
          rend()           返回一个指向map头部的逆向迭代器
          size()           返回map中元素的个数
          swap()            交换两个map
          upper_bound()     返回键值>给定元素的第一个位置
          value_comp()      返回比较元素value的函数

    (2)set 

      set定义形式:

        set<type> set_name;

      set的基本操作:

      begin()         返回指向第一个元素的迭代器

      clear()         清除所有元素

      count()         返回某个值元素的个数

      empty()         如果集合为空,返回true

      end()           返回指向最后一个元素的迭代器

      equal_range()   返回集合中与给定值相等的上下限的两个迭代器

      erase()         删除集合中的元素

      find()          返回一个指向被查找到元素的迭代器

      get_allocator() 返回集合的分配器

      insert()        在集合中插入元素

      lower_bound()   返回指向大于(或等于)某值的第一个元素的迭代器

      key_comp()      返回一个用于元素间值比较的函数

      max_size()      返回集合能容纳的元素的最大限值

      rbegin()        返回指向集合中最后一个元素的反向迭代器

      rend()          返回指向集合中第一个元素的反向迭代器

      size()          集合中元素的数目

      swap()          交换两个集合变量

      upper_bound()   返回大于某个值元素的迭代器

      value_comp()    返回一个用于比较元素间的值的函数

    (3)bitset

      bitset 用法整理  
      构造函数
      bitset<n> b; 
      b有n位,每位都为0.参数n可以为一个表达式.
      如bitset<5> b0;则"b0"为"00000";

      bitset<n> b(unsigned long u);
      b有n位,并用u赋值;如果u超过n位,则顶端被截除
      如:bitset<5>b0(5);则"b0"为"00101";

      bitset<n> b(string s);
      b是string对象s中含有的位串的副本
      string bitval ( "10011" );
      bitset<5> b0 ( bitval4 );
      则"b0"为"10011";


      bitset<n> b(s, pos);
      b是s中从位置pos开始位的副本,前面的多余位自动填充0;
      string bitval ("01011010");
      bitset<10> b0 ( bitval5, 3 );
      则"b0" 为 "0000011010";

      bitset<n> b(s, pos, num);
      b是s中从位置pos开始的num个位的副本,如果num<n,则前面的空位自动填充0;
      string bitval ("11110011011");
      bitset<6> b0 ( bitval5, 3, 6 );
      则"b0" 为 "100110";

      os << b
      把b中的位集输出到os流
      os >>b 
      输入到b中,如"cin>>b",如果输入的不是0或1的字符,只取该字符前面的二进制位.

      bool any( ) 
      是否存在置为1的二进制位?和none()相反

      bool none( ) 
      是否不存在置为1的二进制位,即全部为0?和any()相反.

      size_t count( )
      二进制位为1的个数.

      size_t size( )
      二进制位的个数

      flip()
      把所有二进制位逐位取反

      flip(size_t pos)
      把在pos处的二进制位取反

      bool operator[]( size_type _Pos )
      获取在pos处的二进制位

      set()
      把所有二进制位都置为1

      set(pos)
      把在pos处的二进制位置为1

      reset()
      把所有二进制位都置为0

      reset(pos)
      把在pos处的二进制位置为0

      test(size_t pos)
      在pos处的二进制位是否为1?
      
      unsigned long to_ulong( )
      用同样的二进制位返回一个unsigned long值

      string to_string ()
      返回对应的字符串.


    (4)lower_bound()与upper_bound()函数

      (i)lower_bound(头地址,尾地址+1,value)- 头地址 = 第一个>=val的元素地址

      (ii)upper_bound(头地址,尾地址+1,value)-头地址 = 第一个> val的元素地址

      注意:元素地址可以处于越界状态。

    (5)fill() 函数

      1)fill函数的作用是:将一个区间的元素都赋予val值。函数参数:

      fill(first,last,val);//first为容器的首迭代器,last为容器的末迭代器,val为将要替换的值。

      2)fill_n函数的作用是:给你一个起始点,然后再给你一个数值count和val。把从起始点开始依次赋予count个元素val的值。例:

    fill_n(x + 1, m, pii(0, 0));
  • 相关阅读:
    一个程序媛小渣的自我反省--纯属吐槽
    前端常见的性能优化手段
    js的命名空间 && 单体模式 && 变量深拷贝和浅拷贝 && 页面弹窗设计
    js-signals学习以及应用
    WebGL和ThreeJs学习6--射线法确定3D空间中所选物体
    前端之js-本地存储-localStorage && IndexedDB
    HelloStruts
    实验三 敏捷开发与XP实验 20175301李锦然实验报告
    《Java》第九周学习总结
    MYCP作业
  • 原文地址:https://www.cnblogs.com/naturepengchen/p/3961805.html
Copyright © 2011-2022 走看看