使用数组存放如下数据:89,78,54,95,21,42,46,32 要求:编写冒泡法排序的方法;选择法排序的方法;打印数组元素的方法;求出数组中元素最大值的方法;并在Main()方法中对上述方法进行调用测试。
时间: 2024-09-18 09:16:32 浏览: 31
在Java中,我们可以分别创建四个方法来完成这个任务:
1. **冒泡法排序**:
```java
public static void bubbleSort(int[] 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] > arr[j + 1]) {
// 交换相邻元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
2. **选择法排序**:
```java
public static void selectionSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// 将最小元素放到已排序部分的末尾
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
```
3. **打印数组元素**:
```java
public static void printArray(int[] arr) {
System.out.println("Sorted array is: ");
for (int value : arr) {
System.out.print(value + " ");
}
System.out.println();
}
```
4. **求最大值**:
```java
public static int findMax(int[] arr) {
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
```
在`main()`方法中调用这四个函数:
```java
public static void main(String[] args) {
int[] data = {89, 78, 54, 95, 21, 42, 46, 32};
// 排序
bubbleSort(data);
selectionSort(data);
// 打印数组
printArray(data);
// 求最大值
int max = findMax(data);
System.out.println("The maximum value in the array is: " + max);
}
```
以上就是在Java中实现冒泡法、选择法排序以及相关操作的一个简单例子。
阅读全文