如何用C#实现二维数组的排序

   2024-09-30 7440
核心提示:在C#中,可以使用Array.Sort()方法对二维数组进行排序using System;class Program{static void Main(string[] args){int[,] arra

在C#中,可以使用Array.Sort()方法对二维数组进行排序

using System;class Program{    static void Main(string[] args)    {        int[,] array = new int[3, 2] { { 5, 1 }, { 8, 4 }, { 3, 6 } };        Console.WriteLine("原始二维数组:");        PrintArray(array);        // 将二维数组转换为一维数组        int[] flattenedArray = Flatten(array);        // 对一维数组进行排序        Array.Sort(flattenedArray);        Console.WriteLine("\n排序后的一维数组:");        foreach (int item in flattenedArray)        {            Console.Write(item + " ");        }        // 将排序后的一维数组转回二维数组        int[,] sortedArray = ConvertTo2D(flattenedArray, array.GetLength(0), array.GetLength(1));        Console.WriteLine("\n\n排序后的二维数组:");        PrintArray(sortedArray);    }    static int[] Flatten(int[,] array)    {        int length = array.Length;        int[] flattenedArray = new int[length];        for (int i = 0; i< array.GetLength(0); i++)        {            for (int j = 0; j< array.GetLength(1); j++)            {                flattenedArray[i * array.GetLength(1) + j] = array[i, j];            }        }        return flattenedArray;    }    static int[,] ConvertTo2D(int[] array, int rowCount, int colCount)    {        int[,] newArray = new int[rowCount, colCount];        for (int i = 0; i < rowCount; i++)        {            for (int j = 0; j < colCount; j++)            {                newArray[i, j] = array[i * colCount + j];            }        }        return newArray;    }    static void PrintArray(int[,] array)    {        for (int i = 0; i< array.GetLength(0); i++)        {            for (int j = 0; j< array.GetLength(1); j++)            {                Console.Write(array[i, j] + " ");            }            Console.WriteLine();        }    }}

这个示例首先创建了一个3x2的二维数组,然后将其转换为一维数组。接下来,使用Array.Sort()方法对一维数组进行排序。最后,将排序后的一维数组转回二维数组并打印结果。注意,这个示例仅适用于可以转换为一维数组并在排序后重新构建为原始形状的二维数组。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号