这个算法要实现的功能是:给你一群数,删掉第一个数,再把第二个数放到最后,得到新的一群数,再删掉第一个数,再把第二个数放到最后,重复这些操作,直到只剩两个数,删掉第一个数结束,最后显示所有删掉的数。
这里我们以数组a[6]={1,2,3,4,5,6}为例,然后把删掉的数放入数组b[ ]中。
我们先来看看全部的变换过程:
1 2 3 4 5 6
3 4 5 6 2
5 6 2 4
2 4 6
6 4
由此我们可以看出结果b[ 5 ]={1,3,4,2,6},还可以感觉到大概需要两层循环来完成这个算法,外层循环5次,每一次循环表示删掉一个数(把第一个数放入b[ ]数组中),之后把第二个数放到最后,把所有数往前移两位形成一个新的数组,完成这个移位的动作就需要另一次循环了,那么整个程序什么时候停止呢,有很多办法,比如我可以再全部移位之后把最后一个数的再下一位赋为0,那么变换过程如下:
1 2 3 4 5 6 0
3 4 5 6 2 0
5 6 2 4 0
2 4 6 0
6