用c语言实现,对待排序序列使用直接插入排序算法进行排序,输出每一趟排序后的结果
时间: 2024-02-24 19:59:23 浏览: 76
好的,我可以帮你解决这个问题。
以下是使用C语言实现直接插入排序算法的代码,包括输出每一趟排序后的结果:
```c
#include <stdio.h>
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;
// 输出每一趟排序后的结果
printf("第%d趟排序后的结果:", i);
for (int k = 0; k < n; k++) {
printf("%d ", arr[k]);
}
printf("\n");
}
}
int main() {
int arr[] = {5, 2, 4, 6, 1, 3};
int n = sizeof(arr) / sizeof(arr[0]);
insertionSort(arr, n);
return 0;
}
```
这个程序会输出每一趟排序后的结果,例如:
```
第1趟排序后的结果:2 5 4 6 1 3
第2趟排序后的结果:2 4 5 6 1 3
第3趟排序后的结果:2 4 5 6 1 3
第4趟排序后的结果:1 2 4 5 6 3
第5趟排序后的结果:1 2 3 4 5 6
```
希望这个程序能够帮到你!
阅读全文