Prolog, Sortowanie podlist

XY
  • Rejestracja: dni
  • Ostatnio: dni
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.

msm
  • Rejestracja: dni
  • Ostatnio: dni
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)):

Kopiuj
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).

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.