导读 排序算法是编程学习中的基础内容之一,而插入排序(Insertion Sort)因其简单直观的特点,成为入门级算法的理想选择。今天,让我们用Java...
排序算法是编程学习中的基础内容之一,而插入排序(Insertion Sort)因其简单直观的特点,成为入门级算法的理想选择。今天,让我们用Java语言实现插入排序,并一步步揭开它背后的奥秘!🌟
插入排序的核心思想是将数组分为已排序区和未排序区,通过遍历未排序区的元素,将其插入到已排序区的合适位置。这个过程就像整理扑克牌一样自然:从第二张开始,依次找到它在已经排好的牌堆中的正确位置,然后插入即可。🎯
以下是插入排序的Java代码实现👇
```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) {
for (int i = 1; i < arr.length; 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;
}
}
}
```
运行这段代码后,你将看到数组从小到大有序排列。虽然插入排序的时间复杂度为O(n²),但它对小规模数据或接近有序的数据表现优异,非常适合初学者理解和应用。📚
掌握基础算法不仅能提升逻辑思维能力,还能为后续更复杂的算法打下坚实基础。💪
Java 算法 插入排序