Я хочу создать функцию, которая вызывает количество раз, когда элемент появляется в списке. Например, в списке: '(abcbbcca) Я хочу, чтобы он вернул вложенный список: ' ((a 2) (b 3) (c 3))Схема сбора похожих элементов в списке и поиск наиболее употребимого элемента в списке
Я знаю, что функция будет выглядеть примерно так: :
(define collect-similar
(lambda (elm ls)
(cond
[(null? ls) '()]
[(equal? elm (car ls))]
Я знаю, что мне нужно, чтобы продолжить проверку по списку, пока он не прибудет обратно в базовом случае списка нулевой, и я могу проверить остальную часть списка с помощью CADR. Но я не слишком уверен в том, как получить значение и как вернуть его вложенный список.
Следующая функция, которую я пытаюсь написать, находит наиболее распространенный элемент в списке. Например, запуск функции в списке '(a a a a b c) просто вернет a. Я знаю, что могу использовать подобную коллекцию функцию и найти, какой номер является самым высоким.
функция, как это обычно называется гистограммой. –