3 / 3 / 0
Регистрация: 15.09.2018
Сообщений: 78
1
Scheme

Реализуйте процедуры сортировки элементов списка

06.11.2018, 00:06. Показов 890. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Условие задачи:
Реализуйте сортировку элементов списка двумя способами:

Определите процедуру (selection-sort pred? xs), осуществляющую сортировку списка xs выбором.
Определите процедуру (insertion-sort pred? xs), осуществляющую сортировку списка xs вставками.
В обеих процедурах аргументом pred? является предикат двух аргументов, возвращающий #t, если его первый аргумент меньше второго или равен ему, и #f в противном случае. Иными словами, (pred? a b) истинен, если в отсортированном списке элемент a должен предшествовать элементу b.

Избегайте явного определения циклов и присваивания.

;;; Примеры сортировки с использованием встроенной процедуры <=
;;;
(selection-sort <= '(9 6 2 4 3 5 7 1 8 0)) ⇒ (0 1 2 3 4 5 6 7 8 9)
(insertion-sort <= '(9 6 2 4 3 5 7 1 8 0)) ⇒ (0 1 2 3 4 5 6 7 8 9)

Необходимо написать данные программы на Scheme
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2018, 00:06
Ответы с готовыми решениями:

Реализуйте однонаправленный список.Режим сортировки элементов списка без перестановки самих элементов
Реализуйте задание .В каждом из вариантов должно быть реализованы следующие режимы работы:...

Реализуйте однонаправленный циклический список. Необходимо предусмотреть режим сортировки элементов списка без перестано
Реализуйте задание согласно варианту. В каждом из вариантов должно быть реализованы следующие...

Процедуры и функции: Процедура быстрой сортировки элементов массива по убыванию
Составьте текст программы обработки одномерного массива (тип элементов массива выбирается в...

Замена элементов после сортировки списка
Привет всем, Есть неупорядоченный список чисел, нужно его упорядочить и каждую 2 заменить на 5

1
4699 / 4394 / 380
Регистрация: 12.05.2012
Сообщений: 3,096
06.11.2018, 08:27 2
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(define (insert x lst)
  (if (null? lst)
      (list x)
      (let ((y (car lst))
            (ys (cdr lst)))
        (if (<= x y)
            (cons x lst)
            (cons y (insert x ys))))))
 
(define (insertion-sort lst)
  (if (null? lst)
      '()
      (insert (car lst)
              (insertion-sort (cdr lst)))))
 
(insertion-sort '(6 8 5 9 3 2 1 4 7))
Источник: https://rosettacode.org/wiki/S... ort#Scheme
1
06.11.2018, 08:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.11.2018, 08:27
Помогаю со студенческими работами здесь

Реализуйте алгоритм сортировки слиянием применительно к односвязным спискам
Реализуйте алгоритм сортировки слиянием применительно к односвязным спискам. Основные шаги...

Реализуйте эффективный алгоритм сортировки в виде метода класса
Быстрая сортировка (Quick sort) + сортировка выбором для маленьких подмассивов. с вещественными...

Реализуйте алгоритм сортировки для массива, содержащего указатели на объекты-множества целых чисел
Помогите сделать лабу, Я даже не знаю с чего начинать. Пользователь вводит в программу...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru