【发布时间】: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。增加数组的大小(数组中元素的数量),因为数组不会保留其容量或大小。