🌟引言:
小伙伴们,你们是否对如何用C语言实现排序算法感到好奇呢?今天就来聊聊一种简单又实用的排序方法——直接插入排序。通过这篇文章,你将了解其背后的逻辑,并掌握实际编写代码的方法。
💡原理讲解:
直接插入排序是一种简单直观的排序算法。它的工作方式类似于我们整理书籍的过程。想象一下,你有一叠未排序的书,每次取一本书并将其放在正确的位置上,直到所有书都排好序为止。这个过程就是直接插入排序的基本思想。
🛠️代码实现:
```c
include
void insertSort(int arr[], int n) {
int i, j, key;
for (i = 1; i < n; i++) {
key = arr[i];
j = i - 1;
// 将大于key的元素向后移动一位
while (j >= 0 && arr[j] > key) {
arr[j + 1] = arr[j];
j = j - 1;
}
arr[j + 1] = key;
}
}
int main() {
int arr[] = {5, 2, 9, 1, 5, 6};
int n = sizeof(arr) / sizeof(arr[0]);
insertSort(arr, n);
printf("Sorted array: \n");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
🔍总结:
直接插入排序虽然简单,但在处理小规模数据集时表现良好。希望这篇介绍能帮助你理解这一经典算法,并激发你进一步探索更多有趣的编程知识!🚀
直接插入排序 C语言 算法