Java 中有许多排序算法,每种算法都有不同的特点和应用场景。以下是一些常见的排序算法及其实现方式,附带了步骤流程和示例代码。在示例代码中,我会使用 Java 标准库提供的排序方法来演示。
冒泡排序是一种简单的比较排序算法,它多次迭代列表,每次将相邻的元素进行比较并交换,直到整个列表有序。
步骤流程:
示例代码:
public class BubbleSort {
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;
}
}
}
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(arr);
System.out.println("Sorted array: " + Arrays.toString(arr));
}
}
插入排序(Insertion Sort):
插入排序是一种简单的排序算法,将列表分为已排序和未排序两部分,每次从未排序部分取出一个元素,将它插入到已排序部分的正确位置。
步骤流程:
示例代码:
public class InsertionSort {
public static void insertionSort(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;
}
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
insertionSort(arr);
System.out.println("Sorted array: " + Arrays.toString(arr));
}
}
对于更多排序算法的实现和使用,可以参考 Java 标准库中的 java.util.Arrays
类,它提供了一些已经实现好的排序方法,如 Arrays.sort()
。如果需要使用第三方库,下面是一些常见排序算法的库和依赖坐标:
Apache Commons Lang
Maven 依赖:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
implementation 'org.apache.commons:commons-lang3:3.12.0'
在使用这些库时,可以根据文档了解如何调用对应的排序方法。例如,使用 Apache Commons Lang 中的 ArrayUtils
类的 sort()
方法来排序一个整数数组。