c语言插入排序的代码例子
时间: 2023-05-31 07:01:47 浏览: 59
以下是一个基本的C语言插入排序的代码例子:
```c
#include <stdio.h>
void insertionSort(int array[], int n) {
int i, key, j;
for (i = 1; i < n; i++) {
key = array[i];
j = i - 1;
while (j >= 0 && array[j] > key) {
array[j + 1] = array[j];
j = j - 1;
}
array[j + 1] = key;
}
}
int main() {
int i, n, array[100];
printf("Enter number of elements: ");
scanf("%d", &n);
printf("Enter %d integers: ", n);
for (i = 0; i < n; i++) {
scanf("%d", &array[i]);
}
insertionSort(array, n);
printf("Sorted array in ascending order: ");
for (i = 0; i < n; i++) {
printf("%d ", array[i]);
}
return 0;
}
```
在这个例子中,我们使用了一个函数`insertionSort`来实现插入排序。我们首先声明了一个变量`key`来存储当前元素的值,以及一个变量`j`来指向当前元素的前一个元素。然后我们循环遍历整个数组,将当前元素插入到已排序的子数组中。我们将当前元素与已排序的子数组中的元素进行比较,如果当前元素小于已排序的子数组中的元素,则将已排序的子数组中的元素向右移动一个位置,以便为当前元素腾出空间。当我们找到一个位置将当前元素插入时,我们将它插入到该位置,并继续遍历数组,直到完成排序。
在`main`函数中,我们首先从用户那里获取要排序的数组的大小和元素。然后我们调用`insertionSort`函数来对数组进行排序,并打印出排序后的数组。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)