Задать вопрос

Как перебрать парные сочетания объектов в связном списке?

Не могу сообразить как перебрать сочетания объектов в связном списке из n по 2.
Сначала начал писать алгоритм на массиве, чтобы было проще. Получилась такая рекурсивная функция:
void combine(int index)
{
	for (int i = index + 1; i < LENGTH; i++)
	{
		cout << arr[index] << " " << arr[i] << endl;
		combine(i);
	}
}

Но таким образом сочетания повторяются.
Как правильно сделать перебор всех сочетаний из n по 2 и чтобы это не было слишком времязатратно?
  • Вопрос задан
  • 550 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
MagnetonBora
@MagnetonBora
Как-то так.

void pairs()
{
    int arr[LENGTH] = {1, 2, 3, 4, 5};
    for (int i = 0; i < LENGTH; i++)
    {
        for(int j = i + 1; j < LENGTH; j++)
        {
            cout << arr[i] << " " << arr[j] << endl;
        }
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы