21xrx.com
2024-11-22 09:50:58 Friday
登录
文章检索 我的文章 写文章
如何在C++数组中添加元素
2023-07-05 03:37:47 深夜i     --     --
C++ 数组 添加元素

在C++编程中,数组是一种常见的数据结构,它能够方便地存储一组同类型的数据。但是,在实际应用中,我们经常需要不断地往数组中添加元素,这时候就需要在C++数组中添加元素的方法了。

下面就是几种在C++数组中添加元素的方法:

1.使用STL中的vector

vector是C++STL中的一个动态数组,它可以方便地在数组末尾添加新元素。在使用vector时,只需要使用push_back()函数就可以将元素添加到数组末尾。例如,以下代码片段演示了如何使用vector添加元素:


#include <iostream>

#include <vector>

using namespace std;

int main() {

  vector<int> arr = 2;

  arr.push_back(5);

  for(auto i : arr)

    cout << i << " ";

  return 0;

}

上述代码创建了一个初始值为4的vector,然后使用push_back()函数添加了元素5,最后将所有元素输出。

2.使用new分配内存并复制数据

在C++中,我们可以使用new运算符在堆中分配内存,然后将元素复制到该内存块中。以下是该方法的示例代码:


#include <iostream>

using namespace std;

int main() {

  int *arr = new int[5];

  for (size_t i = 0; i < 4; i++) {

    arr[i] = i;

  }  

  arr[4] = 4;

  for(size_t i = 0; i < 5; i++) {

    cout << arr[i] << " ";

  }

  delete[] arr; //释放内存

  return 0;

}

上述代码使用new分配了长度为5的数组内存,然后将前四个元素赋值为0,1,2,3,最后在数组的第五个元素中添加了元素4。最后一点需要注意的是,使用完毕后需要使用delete[]释放内存。

3.使用标准的动态数组

不使用STL中的vector,也可以使用标准的动态数组,在需要添加元素时,重新分配内存并将旧数组中的元素复制到新数组中。以下是该方法的示例代码:


#include <iostream>

using namespace std;

int main() {

  int *arr = new int[4];

  for(size_t i = 0; i < 4; i++) {

    arr[i] = i + 1;

  }

  int *arr_new = new int[5];

  for(size_t i = 0; i < 4; i++) {

    arr_new[i] = arr[i];

  }

  arr_new[4] = 5; //添加元素5

  delete[] arr;

  arr = arr_new;

  for(size_t i = 0; i < 5; i++) {

    cout << arr[i] << " ";

  }

  delete[] arr;

  return 0;

}

上述代码使用new分配一个长度为4的数组,将前四个元素赋值为1,2,3,4,然后为新数组分配长度为5的内存,并将旧数组中的元素复制到新数组中,最后将元素5添加到新数组中。接着将旧数组中的内存释放,并将该指针指向新的数组。

总结

在C++中为数组添加元素有多种方法,常用的有STL中的vector,new分配内存并复制数据及使用标准的动态数组。无论哪种方法,都要注意释放内存。添加元素时,为数组重新分配内存可能会导致性能问题,因此在实际使用过程中需要根据具体情况选择最优的方案。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复