在该数组指定位置I处,插入任意一个数据
时间: 2024-09-11 17:06:37 浏览: 68
从键盘录入数组并往指定位置插入指定的值
在C语言中,如果你想在数组的特定位置 `i` 插入数据,你需要移动数组后面的元素,使得空出的位置能够容纳新元素。这里提供了一个基本的示例,假设你要插入的数据是 `new_data`:
```c
#include <stdio.h>
void insert(int arr[], int size, int i, int new_data) {
// 确保索引在合法范围内
if (i >= 0 && i <= size) {
int temp; // 临时变量用于存放元素
// 将数组从位置i到最后都向右移动一位
for (int j = size; j > i; j--) {
temp = arr[j - 1]; // 保存当前元素
arr[j] = arr[j - 1]; // 移动元素到下一位置
}
// 在位置i插入新的元素
arr[i] = new_data;
// 更新数组的长度(如果插入位置不是数组末尾)
if (i != size) {
size++; // 因为已经占用了位置i
}
printf("插入操作完成,新数组为: \n");
for (int k = 0; k < size; k++) {
printf("%d ", arr[k]);
}
} else {
printf("错误的插入位置!\n");
}
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
int i = 3; // 要插入的位置
int new_data = 6; // 要插入的新值
insert(arr, size, i, new_data);
return 0;
}
```
当你运行这段代码时,它会在数组 `arr` 的第三个位置(索引从0开始计)插入 `6`。
阅读全文