Задания по С++ — различия между версиями
Материал из SEWiki
(Новая страница: « == Лабораторная работа №1 == Задание == Лабораторная работа №2 == Задание == Лабораторная ра…») |
Btv (обсуждение | вклад) (добавил задание merge sort) |
||
Строка 1: | Строка 1: | ||
− | |||
== Лабораторная работа №1 == | == Лабораторная работа №1 == | ||
Строка 10: | Строка 9: | ||
== Лабораторная работа №3 == | == Лабораторная работа №3 == | ||
− | Задание | + | === Задание merge sort === |
+ | Необходимо написать функцию сортировки слиянием.<br /> | ||
+ | Сигнатура функции должны быть такой:<br /> | ||
+ | <code>template<typename Iter><br /> | ||
+ | std::list<typename Iter::value_type> mergeSort(Iter left, Iter right);</code><br /> | ||
+ | Исходные данные функция модифицировать не должна, в возвращаемом списке должны быть отсортированные элементы. | ||
+ | |||
+ | Затем необходимо добиться, чтоб можно было сортировать по указателям:<br /> | ||
+ | <code>int* array = new int[SIZE];<br /> | ||
+ | mergeSort(array, array + SIZE);</code> | ||
+ | |||
+ | ''Рекомендации'': для merge можно воспользоваться <code>std::list::merge</code> | ||
+ | для получения типа, на который указывает указатель, можно воспользоваться <code>std::iterator_traits</code> | ||
== Лабораторная работа №4 == | == Лабораторная работа №4 == |
Версия 13:45, 18 марта 2011
Содержание
Лабораторная работа №1
Задание
Лабораторная работа №2
Задание
Лабораторная работа №3
Задание merge sort
Необходимо написать функцию сортировки слиянием.
Сигнатура функции должны быть такой:
template<typename Iter>
std::list<typename Iter::value_type> mergeSort(Iter left, Iter right);
Исходные данные функция модифицировать не должна, в возвращаемом списке должны быть отсортированные элементы.
Затем необходимо добиться, чтоб можно было сортировать по указателям:
int* array = new int[SIZE];
mergeSort(array, array + SIZE);
Рекомендации: для merge можно воспользоваться std::list::merge
для получения типа, на который указывает указатель, можно воспользоваться std::iterator_traits
Лабораторная работа №4
Задание
Лабораторная работа №5
Задание