c# 数组反转

一个数组是{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;
            }
        }
相关推荐
小羊没烦恼!2 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
昂好的day4 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
波力海苔夹心脆6757 小时前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
昂好的day9 小时前
VisionMaster(VM) 标定工具详解(上):为什么必须标定 + 九点标定手眼标定
开发语言·数码相机·c#
小羊没烦恼!14 小时前
深入浅出SQL Server中的死锁
java·开发语言·前端·数据库·后端·spring·c#
czhc11400756631 天前
同值短路与单一真值源:属性不是命令,状态只有一个家
c#
下页、再停留1 天前
【C#桌面客户端系列学习-15】生成可视化图表之折线图、柱状图、饼状图
开发语言·c#
波力海苔夹心脆6751 天前
VisionMaster 两级位置修正实战:塑料外壳与金属件装配角度检测
经验分享·计算机视觉·c#·visionmaster·海康机器人·位置修正
小羊没烦恼!1 天前
C#综合揭秘——Entity Framework 并发处理详解
java·开发语言·前端·javascript·数据库·mysql·c#
淡海水1 天前
05-02-源码-Boehm GC标记阶段
算法·unity·c#·游戏引擎·gc