如何在C++数组中特定位置插入元素
数组是存储在连续内存位置的项目集合。本文将介绍如何在C++数组中插入元素。给定大小为n的数组arr和要插入该数组arr的元素x以及要插入的特定位置pos,则本文介绍了如何执行此操作。
- 首先获取要插入的元素x
- 然后获取要插入此元素的位置pos
- 然后将此位置到pos的所有其他元素向前移动一个位置
- 现在在位置pos插入元素,因为空位置pos
以下是上述方法的实现:
// C++程序插入元素
//在数组中特定位置
#include <iostream>
using namespace std;
//在位置pos处插入x
int* insertX(int n, int arr[],
int x, int pos)
{
int i;
//增加一倍的大小
n++;
//向前移动元素
for (i = n; i >= pos; i--)
arr[i] = arr[i - 1];
//在pos处插入x
arr[pos - 1] = x;
return arr;
}
//驱动程序
int main()
{
int arr[100] = {0};
int i, x, pos, n = 10;
//初始大小为10的数组
for (i = 0; i < 10; i++)
arr[i] = i + 1;
//打印原始数组
for (i = 0; i < n; i++)
cout << arr[i] << " ";
cout << endl;
//要插入的元素
x = 50;
//要插入元素的位置
pos = 5;
//在pos处插入x
insertX(n, arr, x, pos);
//打印更新后的数组
for (i = 0; i < n + 1; i++)
cout << arr[i] << " ";
cout << endl;
return 0;
}
输出:
1 2 3 4 5 6 7 8 9 10
1 2 3 4 50 5 6 7 8 9 10
时间复杂度: O(n)
辅助空间: O(1)