Задание 2. Сортировки

Теория

2.1 Сортировка вставками (Insertions sort)

Шаблон кода

Дан массив чисел. Отсортировать в порядке возрастания алгоритмом сортировки вставками.

Входные данные

Входные данные подаются на cin.

В первой строке содержится число N (1 <= N <=100000) — количество элементов в массиве. Во второй строке находятся N целых чисел, по модулю не превосходящих 10^9.

10
1 2 5 1 1 2 6 8 9 3

Выходные данные

В cout вывести отсортированный массив числе по возрастанию через пробел.

1 1 1 2 2 3 5 6 8 9

2.2 Сортировка слиянием (Merge sort)

Шаблон кода

Дан массив чисел. Отсортировать в порядке возрастания алгоритмом сортировки слиянием.

Входные данные

Входные данные подаются на cin.

В первой строке содержится число N (1 <= N <=100000) — количество элементов в массиве. Во второй строке находятся N целых чисел, по модулю не превосходящих 10^9.

10
1 2 5 1 1 2 6 8 9 3

Выходные данные

В cout вывести отсортированный массив числе по возрастанию через пробел.

1 1 1 2 2 3 5 6 8 9

2.3 Сортировка структур

Шаблон кода

Упорядочить массив Студентов по возрастанию возраста и в лексикографическом порядке имен, применив сортировку дважды. Для этой задачи используйте сортировки из стандартной библиотеки: sort и stable_sort.

Входные данные

Входные данные подаются на cin.

В первой строке содержится число N (1 <= N <=100000) — количество элементов в массиве. Далее N строк. В каждой строке сначала идет строка — имя студента, и через пробел чисдло — возраст студента.

4
Vasya 21
Vasya 19
Anton 22
Antonio 23

Выходные данные

В cout вывести отсортированный массив студентов. Каждый студент на новой строке. Сначала имя, потом возраст через пробел.

Anton 22
Antonio 23
Vasya 19
Vasya 21