【问题标题】:How to push an element to an array in C++? [closed]如何在 C++ 中将元素推送到数组中? [关闭]
【发布时间】:2020-10-16 21:18:02
【问题描述】:

假设我有一个像这样的数组:

{1,2,3}

因此,例如,一些函数:

arr.push(4);

将制作这个数组:

{4,1,2,3}

我该怎么做?

【问题讨论】:

  • 数组std::vector是什么类型的?还是因为学校作业限制了您可以使用 c++ 的哪些部分,您正在实现自己的代码?
  • 我该怎么做?如果你添加一个最小的例子,你的问题会好得多。 minimal reproducible example
  • 在 C++ 中,{1,2,3} 不是一个数组(它是一个花括号初始化列表,可用于list initialize 而不仅仅是数组)。请提供更多上下文,以便我们弥补您的不准确术语。
  • 您将需要编写代码来维护数组末尾的索引,如果索引没有超过数组末尾,则将值写入索引处的数组;否则,您将不得不重新分配数组。这假设您要推到数组的后面或末尾。
  • 要推到数组的前面,首先验证是否有足够的空间容纳所有元素。您可能需要重新分配一个更大的数组。将所有元素“向下”移动一个元素。将新值写入位置 0。增加数组的大小(数组中元素的数量),因为数组不会保留其容量或大小。

标签: c++ arrays list


【解决方案1】:

无法将元素推送到数组。数组的大小在数组的整个生命周期内保持不变。

可以做的是创建一个新的、更大的数组并从旧数组中复制元素。标准库中为您提供了这种动态可增长的“数组”数据结构:std::vector。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-03
    • 2017-12-11
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多