1.使用位移运算,实现组合的算法
#region 位运算 实现组合
static char[] a = "1234567890abc".ToArray();
static void print_set(int n, int s)
{
for (int i = 0; i < n; i++)
{
if ((s & (1 << i)) != 0)
{
Console.Write(a[i]);
}
}
Console.WriteLine();
}
static void subset(int n)
{
for (int i = 0; i < (1 << n); ++i)
{
print_set(n, i);
}
}
#endregion
2.同样的一个字符数组,位移算法和递归算法实现组合,生成效率对比
string str = "1234567890abc";