直接插入排序的c语言完整代码
时间: 2023-12-11 22:20:16 浏览: 105
数据结构 直接插入排序
直接插入排序是一种简单的插入排序算法,它的思路是将待排序序列分为有序区和无序区,每次从无序区选取一个元素插入到有序区中的正确位置,使得有序区仍然有序。下面是直接插入排序的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^2),但在实际应用中,由于该算法在排序过程中只涉及相邻元素的交换和比较操作,所以它的空间复杂度相对较低,而且对于小规模数据排序效率较高。
阅读全文