我有一个数组:
int array[5];
我将使用此数组在其中添加一些值。现在我的问题是:如何在填写一些数字后检查阵列中是否填充了某些内容?谢谢
答案 0 :(得分:5)
没有这种“优雅”的方式。
执行此操作的唯一方法是使用一些特殊值,表示“未填充”。例如,
int array[5] = { -1, -1, -1, -1, -1 };
另一种选择是有一个位图,它会告诉你哪些位置被填充,哪些不是。
答案 1 :(得分:2)
数组包含实例化时的值,因此您无法查询它以检查它是否已“填充”。但是您可以保留一个单独的数据结构来跟踪您填充的元素。或者,您可以将数组和其他数据结构包装在一个类中,该类允许您为数组分配值,并检查它们是否已被分配。
答案 2 :(得分:0)
如果已填写“ i ”案例,您可以使用其他阵列保存。
int array[5]
bool filled[5]={false};
array[0] = 42;
filled[0] = true;
但它很脏。
答案 3 :(得分:0)
因为它是C ++为什么不使用std :: pair的容器?
该对中的一个元素是布尔值(如果设置了值,则为true),另一个元素是所需的值。
答案 4 :(得分:-1)
你必须问你的阵列“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;
}