来源:《挑战程序设计》 Page 156
当元素比较少的时候,可以用二进制码来表示集合较为方便。集合 {0,1,2...n-1},可以如下表示和操作
∪∩
~空集-----------------------------------------------------------------------0
~只含有第 i 个元素的集合 {i} ----------------------------------------1<<I
~含有n个元素的集合{0,1,2...n-1}-------------------------------(1<<n)-1
~判断第 i 个元素是否属于集合S------------------------------------if (S>>I & 1)
~向集合中加入第 i 个元素 S∪{i}------------------------------------S | 1<<I
~从集合中除去第 i 个元素 S/{i}-------------------------------------S &~(1<<i)
~集合S和T的并集 S∪T-----------------------------------------------S | T
~集合S和T的交集 S∩T-----------------------------------------------S & T
这些是基本运用,后面还有些细节我就不多说了,回头用到再补充