1
的元件I具有保持像的结构的阵列:获取结构的阵列,通过使用结构
struct Point
{
int x;
int y;
}
Point array_of_structure[10] ;
for(int i=0;i<10;i++)
{
array_of_structure[i].x = i*2;
}
我想要得到保持的6 x值以这种方式予访问结构y结构的价值。我该怎么做? 这件事情就像下面:
Point p = Get the structure which contains x value of 6;
int c = p.y;
这里是一个样品溶液。但我需要一个更好的主意或想法。
for(int i=0;i<10;i++)
if(array_of_structure[i].x==6)
return array_of_structure[i].y;
我想过关于也许指针做这份工作,但我不确定。我无法弄清楚如何解决这个问题。
你知道如何迭代数组吗?你知道如何使用指针吗? – Beta
是的。但是,我想知道是否存在一个有效的解决方案,标准的库函数或明智的方式 – oiyio
可能有更紧凑的方法来执行此操作,但它们基本上是线性搜索的缩写。如果您有权假定数据已排序,那么您可以查看二进制搜索。你的初始化按照递增的顺序设置x坐标,但是它根本不设置y坐标,所以你不清楚你期望发生什么。 –