用C#语言写一个二维数据排序
以下是用C#语言实现二维数据排序的示例代码:
using System;
class Program
{
static void Main(string[] args)
{
// 初始化二维数组
int[,] arr = {
{5, 2, 7},
{1, 8, 4},
{3, 9, 6}
};
Console.WriteLine("排序前的二维数组:");
PrintArray(arr);
// 对二维数组进行排序
SortArray(arr);
Console.WriteLine("排序后的二维数组:");
PrintArray(arr);
}
// 打印二维数组
static void PrintArray(int[,] arr)
{
int rows = arr.GetLength(0);
int cols = arr.GetLength(1);
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
Console.Write(arr[i, j] + " ");
}
Console.WriteLine();
}
}
// 对二维数组进行排序
static void SortArray(int[,] arr)
{
int rows = arr.GetLength(0);
int cols = arr.GetLength(1);
// 将二维数组转换为一维数组
int[] tempArr = new int[rows * cols];
int index = 0;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
tempArr[index++] = arr[i, j];
}
}
// 对一维数组进行排序
Array.Sort(tempArr);
// 将排序后的一维数组转换为二维数组
index = 0;
for (int i = 0; i < rows; i++)
{
for (int j = 0; j < cols; j++)
{
arr[i, j] = tempArr[index++];
}
}
}
}
该程序中,首先初始化了一个二维数组,然后调用PrintArray方法打印出排序前的数组。接着,调用SortArray方法对数组进行排序,该方法的实现过程是先将二维数组转换为一维数组,然后对一维数组进行排序,最后再将排序后的一维数组转换为二维数组。最后,再次调用PrintArray方法打印出排序后的数组。运行该程序,输出结果如下:
排序前的二维数组:
5 2 7
1 8 4
3 9 6
排序后的二维数组:
1 2 3
4 5 6
7 8 9
可以看到,程序成功地对二维数组进行了排序。
原文地址: https://www.cveoy.top/t/topic/rxS 著作权归作者所有。请勿转载和采集!