在Java中,直接排序通常指的是直接插入排序,这是一种简单直观的排序算法。下面是直接插入排序的基本步骤和Java实现示例:
基本步骤
1. 初始化:设置一个空的有序序列,将第一个元素视为已排序。
2. 遍历:从第二个元素开始遍历数组,将其称为当前元素。
3. 比较:将当前元素与已排序序列中的元素进行比较。
4. 插入:如果当前元素小于已排序序列中的元素,则将已排序序列中的元素后移,直到找到合适的位置插入当前元素。
5. 重复:对剩余未排序的元素重复步骤3和4,直到整个数组排序完成。
Java实现示例
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {5, 2, 6, 8, 7, 9};
insertionSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void insertionSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
int key = arr[i];
int j = i - 1;
// 将大于key的元素后移
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
}
解释
`int[] arr = {5, 2, 6, 8, 7, 9};` 定义了一个需要排序的数组。
`insertionSort(arr);` 调用插入排序方法对数组进行排序。
`public static void insertionSort(int[] arr)` 是插入排序方法的实现,它遍历数组,并将每个元素插入到已排序部分的正确位置。
以上代码实现了基本的直接插入排序算法。