一个数组是{1,2,3,4,5,6},把它变成{6,5,4,3,2,1}
1.创建一个和原数组长度类型一样的数组来接收反转的数据
csharp
private static void Main(string[] args)
{
int[] arr = { 1, 3, 2, 90, 10 };
arr = RevertArr(arr);//结果 10,90,2,3,1
Console.WriteLine();
Console.ReadLine();
}
public static int[] RevertArr(int[] arr)
{
int[] arr1 = new int[arr.Length];
for (int i = 0; i < arr1.Length - 1; i++)
{
arr1[i] = arr[arr.Length - i - 1];
}
return arr1;
}
//缺点:此方法在内存中重新开辟了一块内存空间来存储数组大小,如果数组比较大,很消耗内存空间
2.优化:在原数组上进行修改,第一个元素和最后一个元素对调,第二个和倒数第二个对调,依次内推。
csharp
public static void InvertArray(int[] arr)
{
//arr.length/2,只需要对调元素个数的一般,元素奇数个和偶数个不影响
for (int i = 0; i < arr.Length / 2; i++)
{
int temp = arr[i];
arr[i] = arr[arr.Length - 1 - i];
arr[arr.Length - 1 - i] = temp;
}
}