数组“删除元素”的功能
删除元素和增加元素本质是一样的,也是通过“数据搬家”的形式实现,这回需要新建一个比原数组长度小的新数组,如果我们想删掉原数组的 n 个元素,那么就创建一个长度为 :原长度 – n 的新数组
下面我们用代码实现一下
#include <iostream>
using namespace std;
int main()
{
int arr1 [ 6 ] = { 1, 2, 3, 4, 5, 6 }; // 删掉后面 2 个元素,即 5 和 6
int arr2 [ 4 ] = { }; // 新数组长度 = 6 – 2
// 接下来通过 for循环方式对两个数组进行操作,即:数据搬家
for ( int i=0 ; i < 4 ; i++ ) // i < 4 ,是以arr2的长度为条件
{
arr2[ i ] = arr1[ i ] ;
// 数据搬家操作,将arr1中前 4 个数据传入arr2中对应坑位
}
cout << "删除后数据为:" ;
// 输出arr2中的数据
for ( int i=0 ; i < 4 ; i++ )
{
cout << arr2[ i ] << " ";
}
}
输出:删除后数据为:1 2 3 4
以上是删除尾部数据,同样也可以删除头部数据,如将arr1中第一个元素 1 删除,即:arr2中的数据依次是:2 3 4 5 6,我们可以这样操作:
int arr1 [ 6 ] = { 1, 2, 3, 4, 5, 6 }; // 删掉前面 1 个元素,即 1
int arr2 [ 5 ] = { }; // 新数组长度 = 6 – 1
for ( int i = 0 , j = 1 ; i < 5 ; i++ , j++ ) // 此处加入两个增值变量 i 、j,分别作为arr1和arr2的索引号,但是要注意 j 的索引起始值为 1,这样就跳过了 arr1的 0 号索引位置,以达到删除的效果
{
arr2[ i ] = arr1[ j ] ;
// 数据搬家操作,将arr1中前 4 个数据传入arr2中对应坑位
}


