如何将一个数组的值按逆序重新存放于原数组中,并输出。例如:原来顺序为3,6,5,4,9改为9,4?

如题所述

第1个回答  2022-11-13
简单,对折交换。
比如数组a为下面的序列,数组长度为n=10:
1,2,3,4,5,6,7,8,9,10
写一个循环,i从0开始折半遍历到(n/2-1),此处为10/2-1=4,也就是i {0,4},然后交换a[i]和a[n-i-1].
过程如下,其中↹表示交换:
i=0,a[0] ↹ a[9]
i=1,a[1] ↹ a[8]
i=2,a[2] ↹ a[7]
i=3,a[3] ↹ a[6]
i=4,a[4] ↹ a[5]
如果数组元素个数为奇数,则n/2会丢弃小数,因此中间元素不会交换,所以不需要另外处理。这是最快的逆序算法。
相似回答