【发布时间】:2013-05-20 12:12:15
【问题描述】:
我有一些布尔变量,想以与变量相同的“顺序”更改值表。
for example: 2^2 = 4 combinations
0,0 = A
0,1 = B
1,0 = C
1,1 = D
Now I swap x_1 with x_2 and end up with
0,0 = A
0,1 = C
1,0 = B
1,1 = D
我正在寻找一个返回值表“sorted”的函数。 给定值的排列顺序。
一种方法是循环遍历所有位组合并将它们转换为置换状态。但是如何在 c++ 中做到这一点?
例如,如果我有订单(3,2,1),那么x_1,x_2_x_3 = 0,1,1 将被替换为1,1,0 所以
sorted_table[sort(0,1,1)] = sorted_table[6] = old_table[3]
任何想法如何真正快速地做到这一点? 我想我可以操纵一些二进制向量,但这似乎很慢?
【问题讨论】:
标签: c++ binary combinations