Prolog, Sortowanie podlist

0

Mam problem z sortowaniem podlist w Prologu. Mając np listę [ [4,1],[3,2],[1,3] ] mam ją posortować według pierwszego elementu, czyli powinno to wyglądać tak: [ [1,3],[3,2],[4,1] ]. Próbowałem już to zrobić na różne sposoby, ale nic to nie daje.

0

Sposobów jest wiele, pierwszy jaki mi do głowy wpada to coś w rodzaju (z dodaniem podstawy rekurencji i list_min spróbuj sam, jest prosto (sam właśnie napisałem)):

sorted(List, [Min|SortedRest]) :-
	list_min(List, Min, Rest),
	sorted(Rest, SortedRest).

Po polsku - posortowanie listy polega na tym, że na pierwszy element wybieramy najmniejszy element listy, a następnie sortujemy resztę.

edit: nie napisałem tego w sumie bezpośrednio - sortowanie podlist wykonuje się tak samo jak sortowanie czegokolwiek innego, poza tym że wykorzystujesz inną operację porównywania (leksykograficzne).

1 użytkowników online, w tym zalogowanych: 0, gości: 1