编写函数,将一个任意整数插入到一个已排序的整数数组中,插入后数组中的数仍然 保持有序,实现过程用指针处理。 用c语言写
时间: 2024-01-05 13:03:36 浏览: 85
好的,这是一个插入排序问题,我们可以先找到插入的位置,然后将插入位置后面的元素都向后移动一位,最后将待插入元素插入到对应位置即可。
以下是实现这个功能的 C 代码:
```c
#include <stdio.h>
void insert(int arr[], int n, int x) {
int i = n - 1;
while (i >= 0 && arr[i] > x) {
arr[i + 1] = arr[i];
i--;
}
arr[i + 1] = x;
}
int main() {
int n;
printf("请输入数组的长度:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int x;
printf("请输入要插入的整数:");
scanf("%d", &x);
insert(arr, n, x);
printf("插入后的数组为:");
for (int i = 0; i < n + 1; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
注意,这里的数组下标从 0 开始,而题目中的数组下标从 1 开始,需要注意转化。同时,这里没有使用指针,而是直接传入数组参数,但是也可以通过指针来实现。
阅读全文