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;
            }
        }
相关推荐
聪明努力的积极向上20 小时前
【C#】事件简单解析
开发语言·c#
qq_124987075321 小时前
基于C#的贵州省黔北地区乡村避暑生活共享平台设计与实现(源码+论文+部署+安装)
c#·毕业设计·asp.net·生活
墨雪不会编程1 天前
数据结构—排序算法篇二
数据结构·算法·排序算法
LateFrames1 天前
C# 中,0.1 在什么情况下不等于 0.1 ?
开发语言·c#
旺仔老馒头.1 天前
【数据结构与算法】手撕排序算法(二)
c语言·数据结构·算法·排序算法
云泽8081 天前
快速排序算法详解:hoare、挖坑法、lomuto前后指针与非递归实现
算法·排序算法
mudtools1 天前
解放双手!使用Roslyn生成代码让你的 HTTP 客户端开发变得如此简单
低代码·c#·.net
TitosZhang1 天前
排序算法稳定性判断
数据结构·算法·排序算法
张人玉1 天前
WPF 数据绑定与转换器详解
c#·wpf·light
主宰者1 天前
WPF CalcBinding简化判断逻辑
c#·.net·wpf