1. Главная
  2. Библиотека
  3. Программирование
  4. 15. Написать программу, сортирующую список студентов группы по алфавиту, используя сортировку вставками. Пример входных...

15. Написать программу, сортирующую список студентов группы по алфавиту, используя сортировку вставками. Пример входных данных: Список студентов: [{"name": "Иван", "group": "А"}, {"name": "Петр", "group": "Б"}, {"name": "Анна", "group": "А"}]

«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), каждый элемент (ключ) сравнивается с элементами отсортированной области ...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет