C++数组添加元素

C++数组添加元素

C++数组添加元素

C++中,数组是一种用来存储相同类型元素的数据结构。数组的大小在创建时就固定了,无法动态地改变数组的大小。但是我们可以通过一些技巧来实现向数组添加元素的功能。

方法一:使用动态数组

动态数组是一种能够动态增加大小的数组。我们可以使用std::vector来实现动态数组的功能。

#include <iostream>
#include <vector>

int main() {
    std::vector<int> arr = {1, 2, 3, 4, 5};

    // 向数组末尾添加元素
    arr.push_back(6);

    // 输出数组元素
    for(int i=0; i < arr.size(); i++) {
        std::cout << arr[i] << " ";
    }

    return 0;
}

运行结果:

1 2 3 4 5 6

在上面的示例代码中,我们声明了一个std::vector数组arr,然后使用push_back方法向数组末尾添加元素。最后遍历数组并输出元素。

方法二:使用动态内存分配

我们也可以使用动态内存分配来实现向数组添加元素的功能。我们可以使用newdelete关键字来手动动态分配和释放内存。

#include <iostream>

int main() {
    // 创建一个大小为5的数组
    int *arr = new int[5]{1, 2, 3, 4, 5};

    // 创建一个新的更大的数组
    int *newArr = new int[6];

    // 复制旧数组元素到新数组
    for(int i=0; i < 5; i++) {
        newArr[i] = arr[i];
    }

    // 添加新元素
    newArr[5] = 6;

    // 释放原数组内存
    delete[] arr;

    // 将新数组赋值给原数组
    arr = newArr;

    // 输出数组元素
    for(int i=0; i < 6; i++) {
        std::cout << arr[i] << " ";
    }

    delete[] arr;

    return 0;
}

运行结果:

1 2 3 4 5 6

在上面的示例代码中,我们首先使用new关键字手动分配了一个大小为5的整型数组arr,然后创建了一个更大的数组newArr,将旧数组元素复制到新数组中,并向新数组添加新元素。最后释放原数组内存,将新数组赋值给原数组。

方法三:使用动态指针数组

动态指针数组是一种数组,其每个元素都是一个指针,指向动态分配的内存。

#include <iostream>

int main() {
    // 创建一个大小为5的指针数组
    int **arr = new int*[5];

    // 分配内存并赋值
    for(int i=0; i < 5; i++) {
        arr[i] = new int(i+1);
    }

    // 创建一个更大的指针数组
    int **newArr = new int*[6];

    // 复制旧数组元素到新数组
    for(int i=0; i < 5; i++) {
        newArr[i] = arr[i];
    }

    // 添加新元素
    newArr[5] = new int(6);

    // 释放原数组内存
    for(int i=0; i < 5; i++) {
        delete arr[i];
    }

    delete[] arr;

    // 将新数组赋值给原数组
    arr = newArr;

    // 输出数组元素
    for(int i=0; i < 6; i++) {
        std::cout << *arr[i] << " ";
    }

    // 释放新数组内存
    for(int i=0; i < 6; i++) {
        delete arr[i];
    }

    delete[] arr;

    return 0;
}

运行结果:

1 2 3 4 5 6

在上面的示例代码中,我们首先使用new关键字动态分配了一个大小为5的指针数组arr,然后为每个指针分配内存并赋值。接着创建了一个更大的指针数组newArr,将旧数组元素复制到新数组中,并向新数组添加新元素。最后释放原数组内存,将新数组赋值给原数组,并输出数组元素。

以上是向数组添加元素的几种方法,每种方法都有其优缺点,需要根据实际需求选择最适合的方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程