使用部分填充的数组,for循环的外观是什么使您能够继续在第一个打开的元素上输入数据?例如,如果数组设置为最多可容纳50个元素,但未知数量的元素已经满了,那么for循环看起来是什么样的,允许您开始在第一个打开的元素上填充更多数据?
答案 0 :(得分:0)
这取决于元素的类型。如果数组保存指针且未分配的槽设置为null,则将搜索null。如果数组是整数数组,则首先需要将其初始化为特殊值,例如-1,然后搜索-1。或者,您可以使用结构:
struct Element { Element():valid(false){}; bool valid; int val; }
并为已分配的元素设置有效值为true。现在您需要搜索无效的元素:
for (size_t i = 0; i < n; i++)
if (!array[i].valid) {
array[i].val = val;
array[i].valid = true;
break;
}
答案 1 :(得分:0)
假设你有一个数组,int ar [50];
然后你决定通过调用添加30个元素到ar;