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
* * 注意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
相关文章推荐
- C++ STL学习笔记五 slist单向链表容器
- C++ STL学习笔记四 list双向链表容器
- C++ STL学习笔记三 deque双端队列容器
- C++ STL学习笔记一
- C++ STL学习笔记二 vector向量容器
- c语言实现模拟发送报文
- C++ 单链表操作
- 让程序在崩溃时体面的退出之CallStack
- 让程序在崩溃时体面的退出之Unhandled Exception
- 让程序在崩溃时体面的退出之终极解决方案(SEH+Dump+Unhandled Exception Filter)
- 让程序在崩溃时体面的退出之SEH+Dump文件
- 让程序在崩溃时体面的退出之Dump文件
- 让程序在崩溃时体面的退出之SEH
- 第五章C++Primer表达式
- C++STL之multiset多重集合容器
- 转载一份C++线程池的代码,非常实用
- 从C++prime的习题开始做起
- Call C# code from C++
- Visual C++ 64 位迁移的常见问题
- C++权限