сортировка списков по некоторым элементам

Я новичок в Lisp и хочу изучить Lisp-программирование. Я хочу отсортировать некоторые списки, прочитанные из текстового файла, например, в следующей форме:

(a 120 135 124 124)
(b 120 135 124 124)
(c 120 135 124 124)

Как лучше всего отсортировать их по первому целочисленному элементу, может быть, второму или третьему и так далее?

У меня есть следующая идея:

  1. прочитать их все и поместить в список списков
  2. перебрать список контейнеров и сравнить значения списка со следующим, как при пузырьковой сортировке.

Существуют ли более подходящие структуры данных для достижения этой цели, например, Коллекции в Java, которые автоматически принимают сопоставимые объекты, содержащие логику сортировки и полную сортировку?

Большое спасибо. Было бы неплохо иметь возможность создавать диаграммы типа:

http://download.eclipse.org/eclipse/downloads/drops/S-3.7M4-201012081300/performance/performance.php?fp_type=0

. Мы используем cppunit прямо сейчас для модульного тестирования, так что, возможно, есть что-то, что с этим интегрируется.

Дополнительная информация: мы компилируем под Linux (мы используем Ubuntu Lucid / Maverick) на машинах Intel x86-64.

12
задан Kenny Peng 5 January 2011 в 23:19
поделиться