сортировка списка списков по второму элементу каждого подсписка пролог - PullRequest
1 голос
/ 23 марта 2011

У меня есть список типа L = [[id1,avg1],[id2,avg2],....,[idN,avgN]], и я хочу отсортировать этот список по avg. Я даже не могу начать кодировать! Любая идея ???

1 Ответ

7 голосов
/ 23 марта 2011

Вы, вероятно, хотите посмотреть на predsort. Для этого вам нужно создать предикат, который выполняет сравнения для ваших элементов списка.
Например:

compareAvg(X, [_,A1], [_,A2]) :- compare(X, A1, A2).

тогда вы можете позвонить

predsort(compareAvg, [[1,2],[3,1],[5,3]],X).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...