c# 如何对一个坐标数组进行冒泡排序,并输出对应最小X的Y值
时间: 2024-09-23 12:08:03 浏览: 54
在C#中,你可以创建一个二维坐标数组,然后通过冒泡排序算法对其进行排序。这里是一个简单的步骤:
1. 定义一个名为`Coord`的结构体,表示坐标,包含X和Y两个属性:
```csharp
public struct Coord
{
public int X;
public int Y;
}
```
2. 创建一个二维坐标数组并填充数据:
```csharp
Coord[] coords = new Coord[]
{
new Coord { X = 5, Y = 3 },
new Coord { X = 1, Y = 8 },
new Coord { X = 4, Y = 1 },
// 其他坐标...
};
```
3. 冒泡排序函数,用于按X值对数组进行升序排序:
```csharp
void BubbleSortByX(Coord[] arr)
{
int n = arr.Length;
for (int i = 0; i < n - 1; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (arr[j].X > arr[j + 1].X)
{
// 交换元素
Coord temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
4. 对数组进行排序:
```csharp
BubbleSortByX(coords);
```
5. 找到最小X对应的Y值:
```csharp
Coord minCoord = coords[0]; // 假设第一个元素是最小的
foreach (Coord coord in coords)
{
if (coord.X < minCoord.X)
{
minCoord = coord;
}
}
Console.WriteLine($"最小X值为 {minCoord.X} 的Y值是 {minCoord.Y}");
```
阅读全文