用测试类实例化冒泡、选择、插入排序
时间: 2023-08-03 09:07:25 浏览: 61
好的,我可以帮你回答这个问题。
首先,我们需要定义一个测试类,然后在测试类中实例化冒泡、选择、插入排序。
以下是一个简单的测试类示例:
```java
public class SortTest {
public static void main(String[] args) {
int[] arr = {3, 7, 1, 4, 6, 2, 8, 5};
// 冒泡排序
BubbleSort bubbleSort = new BubbleSort();
bubbleSort.sort(arr);
System.out.println("冒泡排序结果:" + Arrays.toString(arr));
// 选择排序
SelectionSort selectionSort = new SelectionSort();
selectionSort.sort(arr);
System.out.println("选择排序结果:" + Arrays.toString(arr));
// 插入排序
InsertionSort insertionSort = new InsertionSort();
insertionSort.sort(arr);
System.out.println("插入排序结果:" + Arrays.toString(arr));
}
}
```
在上面的测试类中,我们定义了一个数组 `arr`,并将其传递给三种排序算法的实例,然后打印出排序后的结果。
接下来,我们需要实现三种排序算法。以下是三种排序算法的示例实现:
冒泡排序:
```java
public class BubbleSort {
public void sort(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;
}
}
}
}
}
```
选择排序:
```java
public class SelectionSort {
public void sort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int minIdx = i;
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIdx]) {
minIdx = j;
}
}
int temp = arr[i];
arr[i] = arr[minIdx];
arr[minIdx] = temp;
}
}
}
```
插入排序:
```java
public class InsertionSort {
public void sort(int[] arr) {
int n = arr.length;
for (int i = 1; i < n; i++) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
}
```
这样,我们就完成了用测试类实例化冒泡、选择、插入排序的任务。