// Класс ListGraph задает структуру L-графа
class ListGraph {
// Массив списков дуг
List<int> *graph;
// Количество вершин графа
int vertexNumber;
public :
// Конструктор создает массив пустых списков
ListGraph(int n) : vertexNumber(n), graph(new List<int>[n]) {}
// Деструктор уничтожает списки дуг
~ListGraph() { delete [] graph; }
// Функция подсчета числа вершин просто выдает
// ранее сохраненное значение
int vertexCount() const {return vertexNumber; }
// Основные методы работы с графом
void addArc(int from, int to);
bool hasArc(int from, int to) const;
// Алгоритм Крускала нахождения минимального остовного дерева
double minSkeleton(std:rostream & out, const GraphWeight & gw);
};