用java定义一个float类型十个元素的数组进行比较找出最大值 按从小到大排列
时间: 2024-09-18 12:11:06 浏览: 37
cpp代码-(一维数组)声明10个数组元素并输入元素,找出最大值及其下标
在Java中,你可以首先定义一个包含十个`float`类型的数组,然后通过循环遍历整个数组,找到最大的值,并将其与当前已知的最大值进行比较。同时,你可以创建一个新的数组用于存储排序后的结果,避免直接修改原始数组。以下是一个简单的示例:
```java
import java.util.Arrays;
public class FloatArraySort {
public static void main(String[] args) {
float[] floatArray = {5.0f, 1.5f, 8.7f, 2.9f, 6.3f, 4.1f, 9.0f, 3.5f, 7.2f, 0.0f}; // 十个浮点数的数组
// 找出最大值
float max = findMax(floatArray);
System.out.println("最大值是: " + max);
// 创建新数组并排序
float[] sortedArray = Arrays.copyOf(floatArray, floatArray.length);
quickSort(sortedArray, 0, sortedArray.length - 1);
System.out.println("数组从小到大排序后: " + Arrays.toString(sortedArray));
// 方法实现
private static float findMax(float[] array) {
if (array.length == 0) return 0;
float max = array[0];
for (float num : array) {
if (num > max) {
max = num;
}
}
return max;
}
// 使用快速排序算法对数组进行排序
private static void quickSort(float[] arr, int low, int high) {
if (low < high) {
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
// 分区函数
private static int partition(float[] arr, int low, int high) {
float pivot = arr[high]; // 最后一个元素作为基准
int i = (low - 1); // 小于基准的索引
for (int j = low; j < high; j++) {
if (arr[j] <= pivot) {
i++;
float temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
float temp = arr[i + 1];
arr[i + 1] = arr[high];
arr[high] = temp;
return i + 1;
}
}
}
```
在这个例子中,我们首先找出了数组的最大值,然后使用快速排序算法对数组进行了升序排列。
阅读全文