15. Написать программу, сортирующую список студентов группы по алфавиту, используя сортировку вставками. Пример входных данных: Список студентов: [{"name": "Иван", "group": "А"}, {"name": "Петр", "group": "Б"}, {"name": "Анна", "group": "А"}]
- Программирование
Условие:
15. Написать программу, сортирующую список студентов группы по алфавиту и использующую сортировку вставками.
Теория:
Сортировка вставками (Insertion sort)
При сортировке вставками массив разбивается на две области: упорядоченную и и неупорядоченную. Изначально весь массив является неупорядоченной областью. При первом проходе первый элемент из неупорядоченной области изымается и помещается в правильном положении в упорядоченной области.
На каждом проходе размер упорядоченной области возрастает на 1, а размер неупорядоченной области сокращается на 1.
Основной цикл работает в интервале от 1 до N-1. На j-й итерации элемент [i] вставлен в правильное положение в упорядоченной области. Это сделано путем сдвига всех элементов упорядоченной области, которые больше, чем [i], на одну позицию вправо. [i] вставляется в интервал между теми элементами, которые меньше [i], и теми, которые больше [i].
void SortAlgo::insertionSort(int data[], int lenD)
{
int key = 0;
int i = 0;
for(int j = 1;j<lenD;j++){
key = data[j];
i = j-1;
while(i>=0 && data[i]>key){
data[i+1] = data[i];
i = i-1;
data[i+1]=key;
}
}
}
Решение:
Ниже приведён пример программы на C++, которая сортирует список студентов (представленных в виде строк с именами) по алфавиту с использованием сортировки вставками. Далее будет подробно описан каждый шаг решения. ────────────────────────────── 1. Идея сортировки вставками При сортировке вставками массив делится на две области: отсортированную и неотсортированную. Изначально отсортированная область состоит только из первого элемента, а остальные элементы – неотсортированные. Затем, начиная со второго элемента (индекс 1), каждый элемент (ключ) сравнивается с элементами отсортированной области ...
Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
AI помощники
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства