SRFI 95 предоставляет библиотеку сортировки.Многие реализации Scheme также имеют встроенные библиотеки сортировки, хотя не все они соответствуют интерфейсу SRFI 95.
Если вам нужно написать собственную реализацию (скажем, для домашней работы), вам следует использоватьодин из стандартных алгоритмов сортировки, таких как сортировка слиянием или быстрая сортировка.Однако оба этих алгоритма являются векторными, поэтому вам нужно будет скопировать список в вектор, отсортировать его, а затем скопировать обратно в список.(Вы можете найти SRFI 43 полезным для операций с вектором, особенно vector-swap!
для замены двух элементов вектора.)
Могут быть подходящие алгоритмыдля сортировки связанного списка напрямую.Я не знаком с ними, поэтому я не буду комментировать их дальше.