巧妙的轮替数组中的值

平时我们时常需要遍历数组,一般我们只从头到尾遍历一遍,

但是有的时候,我们需要不断的从头到尾再从尾到头,像一个圆圈一样的遍历数组时,我们首先想到的办法是判断当前是正遍历,还是倒遍历。这样代码逻辑就会变得复杂,偶然间我看到一种写法,个人觉得非常不错,分享给大家。(这里我以C#演示)

        //创建一个数组
        static int[] arrary = { 1, 2, 3, 4, 5, 6,7};
        //数组遍历的第一项
        static  int curr = 2;

        static void Main(string[] args)
        {


            while (true)
            {
                string s = Console.ReadLine();
                if (s.Equals("Q"))
                {
                    break;
                }
                Console.WriteLine("输出为:"+(arrary[++curr%arrary.Length]));
            }
        }

执行之后,我们看到如下的结果,数组从下标3的位置开始轮替,免去了是正遍历,还是倒遍历的判断。


这样的算法不只是在数组中发挥作用,在各种需要轮替的环境中都能起到作用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值