vector和bitset使用例子

来源:互联网 发布:号码追逐软件 编辑:程序博客网 时间:2024/05/18 19:18

vector是一个容器,可以看做是一个大小可变化的数组,所以其特性有:

1)大小可变

2)容器内的数据成员只允许是一种;

3)由于vector提供的接口的特性,他可以当做栈来使用

bitset则是用来方便实现二进制的位操作而设计的库,比较简单。

代码示例如下:

// Vector.cpp : 定义控制台应用程序的入口点。//vector的使用实例#include "stdafx.h"#include <iostream>#include <vector>#include <ctime>#include <bitset>using namespace std;int main(int argc, _TCHAR* argv[]){srand(clock());//声明变量//sizeof(rand_number)是固定的,不随其元素个数变化vector<int> rand_number;//产生10个随机数cout << "产生10个100以内的随机数:" << endl;for( int i=0; i<10; i++ )rand_number.push_back(rand()%100);//输出结果,采用下标索引的方式访问,但是可以通过索引来增加元素for( vector<int>::size_type i=0; i<rand_number.size(); i++ )cout << rand_number[i] << "  ";cout << endl;//通过下标索引可以修改vector内的元素//修改元素内容cout << "把首元素改成-1后的结果:" << endl;if( !rand_number.empty() ) rand_number[0] = -1;//输出通过下标索引修改后的结果for( vector<int>::size_type i=0; i<rand_number.size(); i++ )cout << rand_number[i] << "  ";cout << endl;//删除后面的元素cout << "删除后面的元素,使得vector内的元素不大于5个:" << endl;while(rand_number.size() > 5){rand_number.pop_back();//把最后的元素移除}//输出删除元素后的结果,通过迭代器输出结果//end返回的是vector的最末端的下一个元素,指向一个不存在的元素for( vector<int>::iterator i=rand_number.begin(); i!=rand_number.end(); i++ )cout << *i << "  "; //通过*(解引用操作符,像C语言中的间访)来读取元素值cout << endl;//通过迭代器修改元素值,定义的const_iterator只支持访问,不允许修改cout << "迭代器修改元素值:" << endl;*rand_number.begin() = 101;//修改首元素vector<int>::iterator e = --rand_number.end();*e = 110;//修改最好一个元素for( vector<int>::iterator i=rand_number.begin(); i!=rand_number.end(); i++ )cout << *i << "  ";cout << endl;//bitset的使用bitset<15> bit;cout << "默认的bitset值:" << endl;//默认初始化都为0,可以分别使用unsigned和string初始化cout << bit << endl;//计算bit中1的个数cout << "bit中1的个数为:" << bit.count() << endl;//都置为1bit.set();cout << "置1后,bit中1的个数为:" << bit.count() << endl;//都置为0bit.reset();cout << "置0后,bit中1的个数为:" << bit.count() << endl;//将bit的每一位都置反bit.flip();cout << "置反后,bit中1的个数为:" << bit.count() << endl;getchar();return 0;}

运行结果:


原创粉丝点击