vector:容器
引入:#inlcue <vector>
using std::vector;
特点:类模板
定义:1)vector<T> v1 //默认构造
2)vector<T> v2(v1) //拷贝构造
3)vector<T> v3(n, i) //构造并且初始化, n:元素个数 i:初始化值
4)vector<T> v4(n) //同3) 初始化值为默认值
操作:1).empty() //为空返回true
2).size() //返回元素个数
3).push_back(t) //末尾添加元素t
4)v[n] //按下表取元素,注:元素必须存在
5)v1 = v2 // 赋值
6)v1 == v2 //比较
7)!=, < ,<=, >, >= //其他惯用含义
iterator:迭代器
特点:容器类对象指针
惯用格式:
for (vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
*iter = 0; // set element to which iter refers to 0
其他:迭代器运算和const迭代器
bitset:二进制位有序集
引入:#include <bitset>
using std::bitset;
特点:二进制数组
定义:1)bitset<n> b; //b有n位,每位都0
2)bitset<n> b(u) //使用unsigned long u来构建
3)bitset<n> b(s) //使用string s来构建
4)bitset<n> b(s, pos, n) // b是s中从位置pos开始的&nbps;n个位的副本
操作:1).any() //是否存在位为1
2).none() //不存在位为1
3).count() //位为1的个数
4).size() //二进制的个数
5).test(pos) //判定pos位是否为1
6).set() //所有位置1
7).set(pos) //pos位置1
8).reset() //所有位置0
9).reset(pos) //pos为置0
10).flip() //所有位逐位取反
11).flit(pos) //pos位取反
12).to_ulong //返回unsigned long 类型值
13)os<<b //把bitset<n> n中的位集输出到os流