Tricks(三十一)—— 访问一个数组相邻的奇数位偶数位

来源:互联网 发布:流畅的python 编辑:程序博客网 时间:2024/06/05 16:47

可能问题没有表述清楚,我们通常见到的都是访问相邻位,像这样:

for (int i = 0; i < n-1; ++i){    seq[i], seq[i+1];}

也即这样,[0, 1], [1, 2], [2, 3],… [n-2, n-1], 就像循环标识的一样,共有 n-1 pairs。

现在我们问,如何实现对相邻的奇数位偶数位的访问,如 [0, 1], [2, 3], [n-2, n-1] 最终数组的长度为偶数:

// 仍然沿用跳跃的方式:for (int i = 0; i < n-1; i+=2){    seq[i], seq[i+1];}// 或者for (int i = 0; i < n/2; ++i){    seq[2*x], seq[2*x+1];}

三个连续位,此时步子跨越为2:

for (int i = 0; i < n-2; i += 2){    seq[i], seq[i+1], seq[i+2];}

也即这样,[0, 1, 2], [1, 2, 3], …, [n-3, n-2, n-1];

0 0
原创粉丝点击