Алгоритм сравнения / сопоставления всех элементов друг с другом в обоих направлениях - PullRequest
0 голосов
/ 18 июня 2011

Какой самый подходящий алгоритм для этого? Можно ли это сделать без помощи / статической переменной?

1 Ответ

2 голосов
/ 18 июня 2011

Используйте два цикла for. Предполагая, что вам не нужно сравнивать элементы друг с другом, и вам нужно только протестировать каждую пару в одну сторону, а не в обе стороны:

for (int i = 1; i < ints.length; ++i) {
    for (int j = 0; j < i; ++j) {
        match(ints[i], ints[j]);
    }
}

Если вы хотите, чтобы все пары были в обоих направлениях, просто измените j < i на j < ints.length. Если вы хотите создать пары в обоих направлениях, исключая самосравнения, либо добавьте if (i != j) во внутренний цикл, либо выполните один внутренний цикл от 0 до i-1, а другой - от i+1 до ints.length.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...