Я пытаюсь реализовать ту же идею естественного соединения в базе данных, но на двух одномерных массивов, так что я пытаюсь сделать, если у меня естьNatural Join двух одномерных массивов
A={[a,b],[a',b']} and B={[b,c], [b',c],[b,c']}
результат NaturalJoin (A, B) должно быть:
Result = {[a,b,c], [a,b,c'],[a',b',c]}
после того как я найти общий столбец B и сравнить его в обоих массивах, как можно объединить строки? Не могли бы вы дать мне несколько советов о том, как создать joinTableau, поскольку я не знаю количество строк с начала соединения, как я могу создать его динамически?
Это мой псевдо-код:
int[][] array1;
int[][] array2;
int shared = prtiallyEqualColumn(array1,array2);
for(int i = 0; i <array1.length; i++)
{
for(int j = 0 ; j < array2.length; j++)
{
if(array1[i][shared] == array2[j][shared])
{
for(int s = 0 ; s < shared; s++)
{
joinedTableau[joinedCountRow][s] = array1[i][s];
}
for(int y=shared+1; y<array2.length;y++)
{
joinedTableau[joinedCountRow][y] = array2[j][y];
}
}
}
}
Будучи закаленным пользователем на SO, я считаю, что вы уже знаете, что вам нужно показать нам какой-то псевдо-код, указывающий, что вы пробовали до сих пор? (для записи я еще не спустил вас вниз, но другие могут быть не такими щедрыми) – CKing
Я добавил свое псевдо – Lisa
Спасибо за улучшение вашего вопроса. Это должно увеличить ваши шансы получить ответ. (+1 от меня) – CKing