Понять, что делает функция (реализация алгоритма) зачастую проще если она чистая (без побочных действий). В таком случае часто по сигнатуре уже ясно, что происходит, но в вас TopologicSort ничего не возвращает, но кроме того, еще и принимает какие-то параметры, которые ни на что не влияют.
Это не компилятор — это компоновщик, он же линкер, он же сборщик.
А компилятор (или даже несколько) отработал уровнем выше — преобразовав файлы кода в *.obj файлы
Я сомневаюсь, во первых мы вряд ли получим бесконтурный граф. Для расчета Page Rank, предполагаю, используются куда более сложные и комбинированные методы.
Алгоритмы на графах — Часть 2: Сортировка сетей