我有一个数组:
int array[5];
我将使用这个数组在其中放入一些值。现在我的问题是:在填写一些数字后,如何检查是否在第 i 位的数组中填写了某些内容?谢谢
没有这种“优雅”的方式。
做到这一点的唯一方法是有一些特殊的价值,这将表明“未填充”。例如,
int array[5] = { -1, -1, -1, -1, -1 };
另一种选择是有一个位图,它会告诉你哪些位置被填充,哪些 - 没有。
该数组包含从实例化那一刻起的值,因此您无法查询它以检查它是否已“填充”。但是您可以保留一个单独的数据结构来跟踪您填充了哪些元素。或者您可以将数组和其他数据结构包装在一个类中,该类允许您为数组分配值并检查它们是否已被分配。
因为它是 C++,为什么不使用 std::pair 的容器?
该对的一个元素是布尔值(如果设置了值,则为真),另一个是所需的值。
如果 case ' i ' 已被填充,您可以使用其他数组保存。
int array[5]
bool filled[5]={false};
array[0] = 42;
filled[0] = true;
但它很脏。
好吧,您必须询问您在“i”位置的数组是否为 ==NULL 类似这样
int array[5];
int main()
{
array[0]=1;
array[1]=2;
array[3]=1;
for(int i =0; i < 6;i++)
{
if(array[i] != NULL)
{
cout<<"Value is: "<<array[i]<<endl;
}else{
cout<<"The Value is NULL"<<endl;
}
}
return 0;
}