C++将单个元素插入到数组指定位置或者删除指定位置的数组元素

在C++的三种容器中,string 和 vector都有插入和删除的函数,数组的插入是将目标位置的元素及之后的元素向后移一位,而删除操作是将目标位置之后的所有元素向前移动一位。

插入(insert)

#include<iostream>
using namespace std;
void insert(int nums[],int length,int target)
{
	int i  = length - 1;
	while(i >= target)
	{
		nums[i + 1] = nums[i];
		i--;
	}
	nums[target] = target;
	for(int j = 0;j < length + 1;j++)
	{
		cout<<nums[j]<<endl;
	}
}
int main()
{
	int nums[] = {1,2,3,4,5,6};
	int length = sizeof(nums)/sizeof(nums[0]);
	cout<<length<<endl;
	insert(nums,length,2);
}

在这里插入图片描述

删除(del)

#include<iostream>
using namespace std;
void del(int nums[],int length,int target)
{
	int i = target;
	while(i < length)
	{
		nums[i] = nums[i+1];
		i++;	
	}
}
int main()
{
	int nums[] = {1,2,3,4,5,6};
	int target = 2;
	int length = sizeof(nums)/sizeof(nums[0]);
	del(nums,length,target);
	for(int j = 0;j < length -1;j++)
	{
		cout<<nums[j]<<endl;
	}
}

在这里插入图片描述

将数组传入到函数中,会自动被降为指针,所以for循环输出数组的时候,在定义的函数中,或者在主函数中,都是一样的。
小知识点
对于数组的初始化,其行数和列数必须是常量表达式,可以使用constexpr函数来检查是否是常量表达式

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐