1. 已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。写一个C语言程序
时间: 2023-11-29 21:13:02 浏览: 77
Java数组排序总结(冒泡_选择_插入_希尔)__递归算法的复杂度
下面是一个简单的C语言程序,用于将输入的数字插入已排序的数组中:
```c
#include <stdio.h>
int main() {
int arr[100], n, i, j, num;
// 获取已排序数组的大小和元素
printf("Enter the size of the array: ");
scanf("%d", &n);
printf("Enter the elements of the array in sorted order:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 获取需要插入的数
printf("Enter the number to be inserted: ");
scanf("%d", &num);
// 在已排序数组中插入数字
for (i = 0; i < n; i++) {
if (num < arr[i]) {
for (j = n; j >= i; j--) {
arr[j] = arr[j - 1];
}
arr[i] = num;
n++;
break;
}
}
// 打印更新后的数组
printf("Array after inserting %d:\n", num);
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这个程序首先获取已排序数组的大小和元素,然后获取需要插入的数字。然后,它在已排序数组中查找数字应该插入的位置,并将其插入。最后,它打印更新后的数组。
阅读全文