b.any()
b中是否存在置為1的二進位制位?
b.none()
b中不存在置為1的二進位制位嗎?
b.count()
b中置為1的二進位制位的個數
b.size()
b中二進位制位的個數
b[pos]
訪問b中在pos處的二進位制位
b.test(pos)
b中在pos處的二進位制位是否為1?
b.set()
把b中所有二進位制位都置為1
b.set(pos)
把b中在pos處的二進位制位置為1
b.reset()
把b中所有二進位制位都置為0
b.reset(pos)
把b中在pos處的二進位制位置為0
b.flip()
把b中所有二進位制位逐位取反
b.flip(pos)
把b中在pos處的二進位制位取反
b.to_ulong()
用b中同樣的二進位制位返回乙個unsigned long值
os << b
把b中的位集輸出到os流
還有就是這個操作的時間複雜度是lg(n)的
比如 a[x]|5就是a[x]所有數都並上5時間複雜度為lg(n)如果x為10^6時間大概到20.非常好用。 也可以a【x】<<5就是a[x]所有的數都加5,時間複雜度也是lg(n)
bitset用法小結
bitset大概就是類似於bool陣列一樣的東西 但是它的每個位置只佔1bit 特別特別小 bitset的原理大概是將很多數壓成乙個,從而節省空間和時間 暴力出奇蹟 一般來說bitset會讓你的演算法複雜度 32 具體是什麼要看計算機 使用bitset型別需 include bitset型別在定義時...
bitset 用法整理
建構函式 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 s...
bitset用法整理
bitset用法整理 2008 01 17 14 15 建構函式 bitsetb b有n位,每位都為0.引數n可以為乙個表示式.如bitset 5 b0 則 b0 為 00000 bitsetb unsigned long u b有n位,並用u賦值 如果u超過n位,則頂端被截除 如 bitset 5...