直接插入排序-C语言(带图详细) 📈CppClass
🌟引言:
排序算法是编程中的基础内容,而直接插入排序作为一种简单直观的排序方法,在小规模数据排序中表现出色。本文将详细介绍直接插入排序算法的原理,并通过C语言代码实现,帮助大家更好地理解这一经典算法。
👩💻算法解析:
直接插入排序的基本思想是:将待排序数组分为已排序区和未排序区,从未排序区的第一个元素开始,逐步将其插入到已排序区的适当位置。就像整理扑克牌一样,每次从手中拿出一张牌,找到合适的位置后插入。
💡示例代码:
```c
include
void insertionSort(int arr[], int n) {
int i, key, j;
for (i = 1; i < n; i++) {
key = arr[i];
j = i - 1;
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
```
🔍运行效果:
通过上述代码,我们可以看到数组在每一步排序后的变化。例如,对于数组 {5, 2, 4, 6, 1, 3},经过几次迭代后,最终会变成有序数组 {1, 2, 3, 4, 5, 6}。
🚀总结:
直接插入排序虽然简单,但在处理大规模数据时效率较低。然而,对于小型数据集或基本有序的数据集,它仍然是一个不错的选择。希望这篇文章能帮助你更好地理解和应用直接插入排序算法。