В настоящее время у меня есть массив nxn из int. Я планирую инициализировать все ячейки в массиве с бесконечностью и позже изменить его, если значение, сравниваемое с ячейкой, ниже, чем значение внутри ячейки. Вот псевдокод того, что я придумал до сих пор, используя -1 для представления бесконечности. Как вы думаете? Это самый эффективный способ, любые ошибки?Реализация массива с минимальным значением ints
if(table[i][j] == -1 || (table[i][j] != -1 && table[i][j] > value)
then table[i][j] = value
Спасибо. Более конкретно я реализую алгоритм Флойда-Варшалла. Итак, если таблица [i] [j]> table [i] [k] + table [k] [j], тогда таблица [i] [j] = table [i] [k] + table [k] [j]. Если ik и kj были MAX_VALUE, это нарушило бы программу в любом случае с момента их добавления? – sudo
Ну, как следует из названия, Integer.Max_VALUE - это максимально возможное значение в мире Integer. Если бы вы добавили даже «1» к нему, вы выйдете из границ Integer и получите результат Integer.MIN_VALUE-1 (да, целые числа фактически круговые). – Riduidel