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座標,所以你不清楚你期望發生什麼。 –