-4
我有一个8个元素的字符串数组,例如AB CD EF GH。而且我想尝试改变的顺序如下:更改数组索引处的值c#
BA DC FE HG
主要思想是在指数改变值:
1与0,0与1
,3,2,2用3
,5与4,4与5
,7 6,6与7
.....对于阵列的任何给定的长度和内容。
谢谢你的帮助。
我有一个8个元素的字符串数组,例如AB CD EF GH。而且我想尝试改变的顺序如下:更改数组索引处的值c#
BA DC FE HG
主要思想是在指数改变值:
1与0,0与1
,3,2,2用3
,5与4,4与5
,7 6,6与7
.....对于阵列的任何给定的长度和内容。
谢谢你的帮助。
通过索引使用xor 1
刚刚访问阵列,这样你就不必移动任何东西,或创建一个新的数组:
int n = arr[index^1];
如果你想创建一个新的数组,你可以从源副本的阵列,并访问它的方式:
int[] newArr = new int[arr.Length];
for (int i = 0; i < arr.Length; i++) {
newArr[i] = arr[i^1];
}
注:这是假定有偶数个数组中的项目。如果存在奇数个项目,则不会交换最后一个项目。
你可以使用'for'循环来做到这一点。你有什么尝试? – CodeCaster 2014-12-06 13:11:17