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;
            }
        }
相关推荐
公子小六1 小时前
基于.NET的Windows窗体编程之WinForms音频控件
windows·microsoft·c#·.net·音视频·winforms
我变成萤火虫2 小时前
反悔贪心(经典题目讲解)
c++·算法·贪心算法·stl·排序算法·反悔贪心
绿浪19842 小时前
c# 结构体 能不能直接封送检测
开发语言·c#
_Narcissus_2 小时前
排序算法总结表格
c语言·数据结构·c++·笔记·算法·排序算法·总结
新手unity自用笔记2 小时前
unity基于Socket的网络学习
网络·网络协议·学习·unity·c#·游戏引擎
格林威4 小时前
C#图像像素放大:邻域平均、双线性插值实现像素放大的C#实现代码
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
用户298698530148 小时前
C# 实现 PowerPoint 多格式转换:图片、PDF 与 SVG 实战
c#·.net·svg
格林威10 小时前
C#图像处理:使用imagemagick实现像素放大水印转换等多种功能
android·开发语言·图像处理·人工智能·计算机视觉·c#·视觉检测
胖纸不争14 小时前
Clasp:一个带插件系统的 .NET 10 命令行工具箱
c#·net core
曹牧1 天前
C#:数字的定义和表示方式
算法·c#