Мне сложно сформулировать этот вопрос. Поэтому я просто использую пример для иллюстрации.В вложенных for-loops используйте j = i + 1 vs j = 1?
Скажем, у меня есть следующий массив: A = {5,8,1,3,2,6}, размер n = 6 и индексированный в A [0 ... 5].
И я хочу запустить сканирование какого-либо типа для сравнения каждого значения со смежным рядом с ним в обход слева направо. В чем разница между следующими 2 фрагментами кода для запуска вложенного цикла?
// snippet 1, using i to take the first and j to take whatever is next to i.
for i <- 0 to n-2 do
for j <- i+1 to n-1 do
// do the scanning, comparing, etc....
//snippet 2 using i to take the first and j to take the second.
for i <- 0 to n-2 do
for j <- 1 to n-1 do
// do the scanning, comparing, etc....
Я думаю, что они точно такие же и не могут найти различий в тестах на перо/бумагу, которые я сделал. Есть ли это?
'(я + 1) .. (п-1)' должен производить различные значения, чем '1 .. (п-1) '. –
@ cricket_007 пожалуйста уточните. Как? – Callat
Не существует экземпляра, когда 'i == j' в первом цикле –