您的位置:首页 > 编程语言 > C语言/C++

C++ STL学习笔记六 bit_vector位向量容器

2015-10-12 20:12 639 查看
/* * ******************************************** * bit_vector位向量容器的基础说明: ******************************************** * * 具有vector容器一样的成员函数,常用于硬件端口的控制。 * 区别于vector,bit_vector更节省内存空间,一个元素只占用一个bit
* * 注意bit_vector并不是一个模板类 * * 个人认为此类型较多应用于对硬件端口控制等 * * 可进行随机访问,并别实现了在容器的尾端插入新元素 * Random Access Container 和 Back Insertion Sequence * 在尾端插入、删除元素的时间复杂度为O(1),其它位置为O(n),n为元素个数 * 对于插入的元素可以动态调整所占空间 * 使用bit_vector必须使用宏语句#include * **************************************************************************************
* * 创建vector对象: * 1.bit_vector a; //a取0或1 * 2.bit_vector a(10); //具有10个元素的对象a,每个元素默认值为1 * 3.bit_vector a(size_t n,bool value); //n个bit位元素值的对象a,每个元素值由value决定 * 4.bit_vector b(a); //bit_vector c(a.begin(),a.end())也可传递bool型数组地址值 * **************************************************************************************
* * 初始化赋值 * void push_back(bool value); * ************************************************************************************** * * 遍历访问 * iterator begin();iterator end(); * reverse_iterator rbegin();reverse_iterator rend(); * reference operator[](size_type
n); //可用数组方式访问bit_vector元素 * ************************************************************************************** * * 常用函数 * * bool empty(); * size_type size();size_type max_size();size_type capacity(); * iterator insert(iterator pos,bool x); * * reference
front();reference back(); //分别返回第一个元素和最后一个元素 * void pop_back();void push_back(); * * void swap(bit_vector&); * void swap(Bit_reference x,Bit_reference y); * * iterator erase(iterator pos); * iterator erase(iterator first,iterator last); // 注意是半闭区间[first,last)
* void clear(); * * * ******************************************** * Author: cumirror * Email: tongjinooo@163.com ******************************************** * */ //用法和vector很类似,有兴趣可以自己动手写写 #include #include int main() { using namespace std; bit_vector a(10,true);
for(int s=0;s
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: