Napisać program sortowania topologicznego z elastycznym programem testowym,
umożliwiającym testowanie dowolnego porządku częściowego i dowolnych danych.
-- 17 cze 2015, o 14:12 --
Algorytm :
0) użytkownik wpisuje liczby
1) wczytanie danych i przetworzenie jej na lista_lin
2) wczytanie pary kluczy (x,y) znajdujemy ich adresy na lista_lin jeśli elementy nie występują. Do listy sąsiadów dodajemy x dodajemy y, licznik x i y zwiększamy o 1.
3) wyszukiwanie tzn. przewodników z licznikiem poprzedników równym 0
4) przeszukujemy listę lista_lin i wybieramy elementy, które nie mają poprzedników
5) tworzymy listę lista_pop do której dodajemy elementy na początek
6) operacje powtarzamy dopóki lista_pop nie jest pusta, elementy z listy lista_pop zapisujemy do listy posortowanej a następnie usuwamy go.
7) elementy z listy_pop usuwamy z listy
8) zmniejszamy licznik poprzedników wszystkich jego następników, jeśli jakiś następnik po tej operacji będzie miał 0 poprzedników, to ustawiamy je do listy_pop