插入排序是一种简单的排序算法,其基本思想是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。以下是Java实现插入排序的代码说明:
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {5, 2, 4, 6, 1, 3};
insertionSort(arr);
for (int i : arr) {
System.out.print(i + " ");
}
}
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;
// 将比key大的元素向后移动一位
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
}
代码解析:
- 定义一个名为
InsertionSort的类。 - 在
main方法中,定义一个整数数组arr,并调用insertionSort方法对其进行插入排序。 insertionSort方法接收一个整数数组作为参数,使用插入排序算法对其进行排序。- 在
insertionSort方法中,首先获取数组的长度n。 - 使用一个循环遍历数组中的每个元素(从第二个元素开始)。
- 将当前元素赋值给变量
key。 - 使用一个内部循环,将比
key大的元素向后移动一位。 - 当内部循环结束时,将
key插入到正确的位置。 - 最后,在
main方法中打印排序后的数组。
本文详细介绍了插入排序算法的Java实现,包括代码步骤和逻辑分析,展示了如何将一个整数数组按照升序排列的过程。
1782

被折叠的 条评论
为什么被折叠?



