我从未使用C中的位操作,但现在我需要,因为我需要我的程序具有CPU效率。
我有一个大数组int *v
,其中包含k
,数字(k
已知),我的程序会按照未定义的顺序将每个v[i]
设置为零,并将索引i
存储在数组int *q
中。在存储索引之前,我必须检查索引是否已经在q
中,因此我不会将其存储两次。这项检查耗费了大量时间。我正在考虑实现一个bitset k
位,每个位设置为零,当我将i
添加到q
时,我也会将位i
从我的bitset设置为一。在此之前,我需要检查i
位是否已经是一位。我怎么能这样做?
我确实检查过其他问题是否已经有我的答案,但由于我不熟悉编程,所以我不太了解。