C#三维数组如何高效排序

   2024-10-02 2010
核心提示:对于三维数组的排序,可以使用Array类的Sort方法结合自定义的比较器来实现高效排序。以下是一个示例代码:using System;class Pr

对于三维数组的排序,可以使用Array类的Sort方法结合自定义的比较器来实现高效排序。以下是一个示例代码:

using System;class Program{    static void Main()    {        int[,,] array = new int[2, 3, 4]        {            {                {5, 3, 2, 7},                {1, 9, 4, 8},                {6, 0, 10, 12}            },            {                {11, 13, 15, 14},                {16, 17, 18, 19},                {20, 21, 22, 23}            }        };        Array.Sort(array, new ThreeDimensionalArrayComparer());        // 输出排序后的结果        for (int i = 0; i < array.GetLength(0); i++)        {            for (int j = 0; j < array.GetLength(1); j++)            {                for (int k = 0; k < array.GetLength(2); k++)                {                    Console.Write(array[i, j, k] + " ");                }                Console.WriteLine();            }            Console.WriteLine();        }    }}class ThreeDimensionalArrayComparer : IComparer{    public int Compare(object x, object y)    {        int[,,] array1 = (int[,,])x;        int[,,] array2 = (int[,,])y;        for (int i = 0; i < array1.GetLength(0); i++)        {            for (int j = 0; j < array1.GetLength(1); j++)            {                for (int k = 0; k < array1.GetLength(2); k++)                {                    if (array1[i, j, k] != array2[i, j, k])                    {                        return array1[i, j, k].CompareTo(array2[i, j, k]);                    }                }            }        }        return 0;    }}

在上面的示例代码中,首先定义了一个三维数组,并使用Array类的Sort方法对其进行排序。同时,还定义了一个自定义的比较器ThreeDimensionalArrayComparer,用于比较三维数组的元素大小。最后,输出排序后的结果。

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

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