用Java定义一个数组,写出冒泡排序,选择排序和插入排序
时间: 2024-02-13 07:04:45 浏览: 76
好的,以下是定义一个数组并使用冒泡排序、选择排序和插入排序排序的示例代码:
```java
public class Main {
public static void main(String[] args) {
// 定义一个数组
int[] arr = {5, 2, 8, 3, 1};
// 冒泡排序
bubbleSort(arr);
System.out.println("冒泡排序后的数组:" + Arrays.toString(arr));
// 选择排序
selectionSort(arr);
System.out.println("选择排序后的数组:" + Arrays.toString(arr));
// 插入排序
insertionSort(arr);
System.out.println("插入排序后的数组:" + Arrays.toString(arr));
}
// 冒泡排序
public static void bubbleSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
swap(arr, j, j + 1);
}
}
}
}
// 选择排序
public static void selectionSort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) {
int minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
swap(arr, i, minIndex);
}
}
// 插入排序
public static void insertionSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
int current = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > current) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = current;
}
}
// 交换数组中的两个元素
public static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
```
输出结果为:
```
冒泡排序后的数组:[1, 2, 3, 5, 8]
选择排序后的数组:[1, 2, 3, 5, 8]
插入排序后的数组:[1, 2, 3, 5, 8]
```
希望能对你有所帮助!
阅读全文