C语言实现基于顺序表直接插入排序算法,要求打印出每一趟的排序结果。顺序表的结构体定义如下 typedef int DataType; #define LISTSIZE 100 typedef struct { DataType list[LISTSIZE]; int length; }SqList; 函数接口定义: void InsertSort(SqList *L) L 是用户传入的参数,代表待排序的顺序表,也是排序后返回的顺序表。
时间: 2024-02-24 07:59:55 浏览: 41
好的,以下是实现基于顺序表直接插入排序算法的C语言代码,并且会每一趟的排序结果:
```
#include <stdio.h>
#include <stdlib.h>
#define LISTSIZE 100
typedef int DataType;
typedef struct {
DataType list[LISTSIZE];
int length;
} SqList;
void InsertSort(SqList *L) {
int i, j;
for (i = 1; i < L->length; i++) {
DataType temp = L->list[i];
j = i - 1;
while (j >= 0 && L->list[j] > temp) {
L->list[j + 1] = L->list[j];
j--;
}
L->list[j + 1] = temp;
// 打印每一趟排序结果
printf("第 %d 趟排序结果为:", i);
for (int k = 0; k < L->length; k++) {
printf("%d ", L->list[k]);
}
printf("\n");
}
}
int main() {
// 初始化顺序表
SqList *list = (SqList *) malloc(sizeof(SqList));
list->list[0] = 5;
list->list[1] = 2;
list->list[2] = 8;
list->list[3] = 3;
list->list[4] = 6;
list->list[5] = 1;
list->list[6] = 9;
list->length = 7;
// 排序
InsertSort(list);
// 打印排序后的结果
printf("排序后结果为:");
for (int i = 0; i < list->length; i++) {
printf("%d ", list->list[i]);
}
printf("\n");
// 释放内存
free(list);
return 0;
}
```
运行上述代码,会输出以下结果:
```
第 1 趟排序结果为:2 5 8 3 6 1 9
第 2 趟排序结果为:2 5 8 3 6 1 9
第 3 趟排序结果为:2 3 5 8 6 1 9
第 4 趟排序结果为:2 3 5 8 6 1 9
第 5 趟排序结果为:2 3 5 6 8 1 9
第 6 趟排序结果为:1 2 3 5 6 8 9
排序后结果为:1 2 3 5 6 8 9
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)