数组的元素的索引I具有用于存储非重复值的2D阵列和一些条目被随机挑选的push_back-ED到载体如喜爱列表。检索存储在向量
int num[10][10];
vector<int> fav_list;
int retrieved_i, retrieved_j, retrieve_vector_position;
for(i=0;i<10;i++) for(j=0;j<10;j++)
// ...assign numbers to num...
fav_list.push_back(num[2][3]);
fav_list.push_back(num[4][7]);
fav_list.push_back(num[6][2]);
//...push_back more random selected num[...][...] into fav_list...
的问题是,我怎么能检索i, j
指数的特定fav_list[...]
?
我已努力使结构struct Num{int value, index_i, index_j;}num[10][10];
让我能以这种方式
retrieved_i = fav_list[retrieve_vector_position].index_i;
retrieved_j = fav_list[retrieve_vector_position].index_j;
做,但我想知道有没有其他更好的/有效的方法?
提供一个[MCVE]请。完全不清楚你问的是什么。 –
你打算如何访问'fav_list'?通过随机索引或在'fav_list'中搜索某个值,然后使用找到的值的相应索引'(i,j)'? – sameerkn
“retrieve_vector_position”决定的基础是什么? – sameerkn