项目1 简化的插入排序 【项目说明】输入一个正整数n(0<n<9)和n个从小到大排好顺序的整数,再输入一个整数x,把x插入到这组数据中,使该组数据仍然有序。
时间: 2024-02-21 08:00:01 浏览: 80
有一个从小到大排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
下面是一个简化的插入排序的C语言实现,用于将一个整数x插入到已排序的数组中:
```c
#include <stdio.h>
#define MAX_SIZE 10
void insertionSort(int arr[], int n, int x) {
int i, j;
// 将x插入到数组的末尾
arr[n] = x;
// 执行插入排序
for (i = 0; i < n; i++) {
if (arr[i] > x) {
for (j = n; j > i; j--) {
arr[j] = arr[j - 1];
}
arr[i] = x;
break;
}
}
}
int main() {
int n, arr[MAX_SIZE], x, i;
// 输入数组的长度n和已排序的数组
printf("请输入数组的长度n:");
scanf("%d", &n);
printf("请输入%d个从小到大排好顺序的整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 输入要插入的整数x
printf("请输入要插入的整数x:");
scanf("%d", &x);
// 执行插入排序
insertionSort(arr, n, x);
// 输出排序后的数组
printf("排序后的数组为:");
for (i = 0; i <= n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
在上面的代码中,我们定义了一个`insertionSort`函数,它接受一个已排序的数组`arr`、数组的长度`n`和要插入的整数`x`作为参数。函数首先将`x`插入到数组的末尾,然后执行插入排序,将`x`插入到正确的位置上。
在`main`函数中,我们首先输入数组的长度`n`和已排序的数组,然后输入要插入的整数`x`。接着调用`insertionSort`函数对数组进行插入排序,最后输出排序后的数组。
阅读全文