建構函式
bitsetb;
b有n位,每位都為0.引數n可以為乙個表示式.
如bitset<5> b0;則"b0"為"00000";
bitsetb(unsigned long u);
b有n位,並用u賦值;如果u超過n位,則頂端被截除
如:bitset<5>b0(5);則"b0"為"00101";
bitsetb(string s);
b是string物件s中含有的位串的副本
string bitval ( "10011" );
bitset<5> b0 ( bitval4 );
則"b0"為"10011";
bitsetb(s, pos);
b是s中從位置pos開始位的副本,前面的多餘位自動填充0;
string bitval ("01011010");
bitset<10> b0 ( bitval5, 3 );
則"b0" 為 "0000011010";
bitsetb(s, pos, num);
b是s中從位置pos開始的num個位的副本,如果num
string bitval ("11110011011");
bitset<6> b0 ( bitval5, 3, 6 );
則"b0" 為 "100110";
os << b
把b中的位集輸出到os流
os >>b
輸入到b中,如"cin>>b",如果輸入的不是0或1的字元,只取該字元前面的二進位制位.
bool any( )
是否存在置為1的二進位制位?和none()相反
bool none( )
是否不存在置為1的二進位制位,即全部為0?和any()相反.
size_t count( )
二進位制位為1的個數.
size_t size( )
二進位制位的個數
flip()
把所有二進位制位逐位取反
flip(size_t pos)
把在pos處的二進位制位取反
bool operator( size_type
_pos
)獲取在pos處的二進位制位
set()
把所有二進位制位都置為1
set(pos)
把在pos處的二進位制位置為1
reset()
把所有二進位制位都置為0
reset(pos)
把在pos處的二進位制位置為0
test(size_t pos)
在pos處的二進位制位是否為1?
unsigned long to_ulong( )
用同樣的二進位制位返回乙個unsigned long值
string to_string ()
返回對應的字串.
bitset的基本用法
最近用的bitset比較多,位運算在儲存狀態 模擬行動 搜尋很多方面有著非常巨大的優勢,所以特意轉了一篇bitset的基本用法。建構函式 bitset b b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b0 則 b0 為 00000 bitset b unsigned long ...
bitset的簡單用法
1.標頭檔案 include 2.基本操作 bitsetb b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b,則 b 為 00000 bitsetb unsigned long u b有n位,並用u賦值 如果u超過n位,則頂端被截除 如 bitset 5 b 5 則 b 為 00...
STL 中sort qsort 的用法
做 acm 題的時候,排序是一種經常要用到的操作。如果每次都自己寫個冒泡之類的 o n 2 排序,不但程式容易超時,而且浪費寶貴的比賽時間,還很有可能寫錯。stl 裡面有個 sort 函式,可以直接對陣列排序,複雜度為 n log2 n 使用這個函式,需要包含標頭檔案。這個函式可以傳兩個引數或三個引...