Переставить первый и последний элемент местами - Lisp

Узнай цену своей работы

Формулировка задачи:

Определить функцию, которая в заданном списке переставляет первый и последний элементы местами.

Решение задачи: «Переставить первый и последний элемент местами»

textual
Листинг программы
(defun task (lst)
  (append (last lst) (butlast (cdr lst)) (list (car lst)))) 
 
==> TASK
 
(task '(1 2 3 4 5))
 
==> (5 2 3 4 1)

Объяснение кода листинга программы

В коде определена функция task, которая принимает в качестве аргумента список lst. Функция выполняет следующие шаги:

  1. last lst — возвращает последний элемент списка lst.
  2. butlast (cdr lst) — возвращает список, полученный из lst, исключив из него последний элемент.
  3. list (car lst) — возвращает список, полученный из lst, включив в него первый элемент. Затем, с помощью функции append, полученные списки объединяются в один, в котором первый и последний элементы списка lst поменяны местами. При вызове функции task с аргументом '(1 2 3 4 5), она вернет результат (5 2 3 4 1).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы