-
构建循环队列数组下标的控制(应该填的是实现当数组下标大于某个值的时候再次恢复到0),
-
* 标准的答案只有一个,就是i%n。熟悉位运算的同学知道,这里填i&n是完全可以的。
-
* 比如i%7,可以实现的序列是0,1,2,3,4,5,6,7,0,1,2,3,4……。
-
* 但是现在来看一下位运算,7的八位二进制表示是00000111,将一个数与其做按位与
-
* 则高位全变为0而低三位保留原来的值,如果i的值依次增大,而将其低三位限制在111范围内,
-
* 这不正好实现了由0到7的循环变化吗。
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 100; i++)
{
string str = (i&7)==7 ? "\r\n" :"";
Console.Write((i & 7) + str);
}
Console.ReadKey();
}
}
}