Вы можете использовать вместо числа (double
) такую структуру:
struct weight
{
double weight;
bool edge_exists;
};
и создайте матрицу смежности weight
. Таким образом, если edge_exist
s имеет значение false, нет смысла проверять weight
, иначе weight
будет иметь смысл.
Я бы использовал вышеприведенное, если бы каждое (?) double
могло быть возможным значением веса.