排序算法是编程中的基础,而插入排序就是其中一种简单且直观的方法。就像整理扑克牌时,我们习惯将新牌插入到合适的位置一样,插入排序通过逐步构建有序序列来完成任务。🔍
首先,假设第一个元素已经有序,然后依次处理后续元素。对于每个新元素,将其与已排序部分比较,找到正确位置后插入。这个过程像拼图游戏,一点点完善整个序列。🎨
让我们用一个例子来理解:假设有数组 {5, 2, 4, 6, 1, 3},经过插入排序后会变成 {1, 2, 3, 4, 5, 6}。通过逐步插入,每次调整都能让数组更接近最终结果。💡
下面是简单的C语言代码实现:
```c
void insertionSort(int arr[], int n) {
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;
}
}
```
虽然插入排序的时间复杂度为O(n²),但对于小规模数据或几乎有序的数据集非常高效。快来试试吧!🚀✨