浮点数数组的冒泡排序
时间: 2024-05-24 13:09:39 浏览: 90
浮点数数组的冒泡排序是一种简单直观的排序算法,其基本思想是通过比较相邻的元素,将较大的元素交换到右侧,较小的元素交换到左侧,从而实现排序。具体步骤如下:
1. 从数组的第一个元素开始比较相邻的两个元素,如果前面的元素比后面的元素大,则交换这两个元素的位置。
2. 对整个数组重复以上步骤,直到没有任何一对数字需要比较为止。
以下是浮点数数组冒泡排序的示例代码:
```c++
void bubbleSort(float arr[], int n) {
for(int i = 0; i < n - 1; i++) {
for(int j = 0; j < n - i - 1; j++) {
if(arr[j] > arr[j + 1]) {
float temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
相关问题
c# 如何对一个浮点数坐标数组进行冒泡排序,并输出对应最小X的Y值
在 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);
//
用冒泡排序。对12个浮点数,这12个浮点数放在数组,从小到大,c语言程序
好的,下面是使用冒泡排序对12个浮点数进行排序的C语言程序:
```c
#include <stdio.h>
void bubble_sort(float arr[], int size) {
int i, j;
float temp;
for (i = 0; i < size - 1; i++) {
for (j = 0; j < size - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
float nums[] = {3.14, 2.71, 1.23, 4.56, 0.99, 6.78, 5.43, 8.76, 9.87, 7.65, 10.11, 11.12};
int size = sizeof(nums) / sizeof(nums[0]);
bubble_sort(nums, size);
printf("Sorted array: ");
for (int i = 0; i < size; i++) {
printf("%f ", nums[i]);
}
printf("\n");
return 0;
}
```
这个程序中,我们定义了一个 `bubble_sort` 函数来执行冒泡排序。该函数接受一个浮点数数组和数组大小作为参数,并使用嵌套的循环来比较和交换数组元素,以将它们从小到大排序。在主函数中,我们定义了一个包含12个浮点数的数组,使用 `sizeof` 运算符来计算数组大小,然后调用 `bubble_sort` 函数来对数组进行排序。最后,我们循环遍历排序后的数组,并将其打印出来。
阅读全文
相关推荐















