c# 如何对一个浮点数坐标数组进行冒泡排序,并输出对应最小X的Y值
时间: 2024-09-23 12:08:15 浏览: 41
在 C# 中,对浮点数坐标数组 (例如 double 类型的二维数组) 进行冒泡排序,首先需要创建一个比较函数来确定坐标值的顺序,然后按照 X 值进行排序。最后找出排序后的数组中最小 X 的 Y 值。
下面是一个简单的示例:
```csharp
using System;
using System.Linq;
public class Point
{
public double X { get; set; }
public double Y { get; set; }
// 比较两个点按 X 值从小到大的顺序
public static bool ComparePointsByX(Point a, Point b)
{
return a.X < b.X;
}
}
public class Program
{
static void Main(string[] args)
{
// 假设我们有一个浮点数坐标数组 points
double[,] points = {
{ 3.5, 10.2 },
{ 1.1, 5.6 },
{ 4.8, 7.9 },
{ 2.3, 8.5 }
};
// 将二维数组转换为一维数组,方便排序
Point[] pointArray = new Point[points.GetLength(0)];
for (int i = 0; i < points.GetLength(0); i++)
{
pointArray[i] = new Point() { X = points[i, 0], Y = points[i, 1] };
}
// 使用 LINQ 的 OrderBy 方法对 X 值进行升序排序
var sortedPoints = pointArray.OrderBy(point => point.X);
// 找出排序后的第一个点,即 X 最小的那个
Point minXPoint = sortedPoints.First();
Console.WriteLine($"X 最小的点是 ({minXPoint.X}, {minXPoint.Y})");
// 输出对应的 Y 值
Console.WriteLine("对应 Y 值为: " + minXPoint.Y);
//
阅读全文