欢迎光临
我们一直在努力

C++学习笔记系列2-20

 数组“删除元素”的功能

删除元素和增加元素本质是一样的,也是通过“数据搬家”的形式实现,这回需要新建一个比原数组长度小的新数组,如果我们想删掉原数组的 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中对应坑位

        }

赞(0)
未经允许不得转载:171主机测评 » C++学习笔记系列2-20
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址