温馨提示:这篇文章已超过230天没有更新,请注意相关的内容是否还可用!
![java插入排序法 代码示例 java插入排序法 代码示例](https://www.guihejia.com/zb_users/upload/2023/11/202311241700810946264725.jpg)
插入排序是一种简单直观的排序算法,它的基本思想是将待排序的元素逐个插入到已排序的序列中,直到所有元素都插入完毕。在插入的过程中,需要不断地比较待插入元素与已排序序列中的元素,找到合适的位置插入。
下面是一个使用Java实现的插入排序的示例代码:
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;
// 将比 key 大的元素向后移动
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
public static void main(String[] args) {
int[] arr = {5, 2, 8, 3, 1};
insertionSort(arr);
System.out.println("排序后的数组:");
for (int i : arr) {
System.out.print(i + " ");
}
}
}
在上述代码中,我们定义了一个名为`insertionSort`的静态方法,该方法接受一个整型数组作为参数。我们获取数组的长度,并使用一个循环来遍历待排序的元素,从第二个元素开始(索引为1)。
在每一次循环中,我们将当前元素保存在变量`key`中,并将变量`j`初始化为当前元素的前一个位置。然后,我们通过一个循环将比`key`大的元素向后移动,直到找到合适的位置插入`key`。
我们将`key`插入到正确的位置,并继续下一次循环,直到所有元素都插入完毕。
在示例代码中,我们使用了一个简单的整型数组`arr`作为输入,并在`main`方法中调用`insertionSort`方法对其进行排序。我们打印排序后的数组。
通过以上示例代码,我们可以看到插入排序的具体实现过程,并理解其基本思想。