Bitset容器是一个bit位元素的序列容器每个元素只占一个bit位取值非0即1 因而很节省空间他的10个元素只使用了两个字节的空间
Bitset位集合容器创建bitset对象
创建bitset对象时一定要指定容器大小大小一定义就不能修改
#include "stdafx.h"
#include "iostream"
#include "bitset"
using namespace std;
int main(int argc, char* argv[])
{
bitset<10000>bs;
return0;
}
Bitset位集合容器设置元素值
使用下标法第0位是低位以此类推
#include "stdafx.h"
#include "iostream"
#include "bitset"
using namespace std;
int main(int argc, char* argv[])
{
bitset<10>bs;
bs[1]=1;
bs[6]=1;
bs[9]=1;
for(inti=0;i<bs.size();i++)
{cout<<bs[i]<<"";}
cout<<endl;
for(intj=bs.size()-1;j>=0;j--)
{cout<<bs[j]<<"";}
cout<<endl;
return0;
}
使用set()方法一次性把元素设置成1
#include "stdafx.h"
#include "iostream"
#include "bitset"
using namespace std;
int main(int argc, char* argv[])
{
bitset<10>bs;
bs.set();
for(inti=0;i<bs.size();i++)
{cout<<bs[i]<<"";}
cout<<endl;
for(intj=bs.size()-1;j>=0;j--)
{cout<<bs[j]<<"";}
cout<<endl;
return0;
}
使用set(pos)方法将某pos位设置成1
#include "stdafx.h"
#include "iostream"
#include "bitset"
using namespace std;
int main(int argc, char* argv[])
{
bitset<10>bs;
bs.set(1,1);
bs.set(6,1);
bs.set(9,1);
for(inti=0;i<bs.size();i++)
{cout<<bs[i]<<"";}
cout<<endl;
for(intj=bs.size()-1;j>=0;j--)
{cout<<bs[j]<<"";}
cout<<endl;
return0;
}
使用reset(pos)方法将某pos位设置成0
#include "stdafx.h"
#include "iostream"
#include "bitset"
using namespace std;
int main(int argc, char* argv[])
{
bitset<10>bs;
bs.set();
bs.reset(1);
bs.reset(2);
bs.reset(3);
bs.reset(4);
for(inti=0;i<bs.size();i++)
{cout<<bs[i]<<"";}
cout<<endl;
for(intj=bs.size()-1;j>=0;j--)
{cout<<bs[j]<<"";}
cout<<endl;
return0;
}
Bitset位集合容器输出元素
#include "stdafx.h"
#include "iostream"
#include "bitset"
using namespace std;
int main(int argc, char* argv[])
{
bitset<10>bs;
bs.set();
bs.reset(1);
bs.reset(2);
bs.reset(3);
bs.reset(4);
for(inti=0;i<bs.size();i++)
{cout<<bs[i]<<"";}
cout<<endl;
for(intj=bs.size()-1;j>=0;j--)
{cout<<bs[j]<<"";}
cout<<endl;
return0;
}
#include "stdafx.h"
#include "iostream"
#include "bitset"
using namespace std;
int main(int argc, char* argv[])
{
bitset<10>bs;
bs.set();
bs.reset(1);
bs.reset(2);
bs.reset(3);
bs.reset(4);
for(inti=0;i<bs.size();i++)
{cout<<bs[i];}
cout<<endl;
cout<<bs<<endl;
return0;
}