Задания по С++ — различия между версиями
Материал из SEWiki
Btv (обсуждение | вклад) (добавил задание merge sort) |
Btv (обсуждение | вклад) м |
||
Строка 20: | Строка 20: | ||
mergeSort(array, array + SIZE);</code> | mergeSort(array, array + SIZE);</code> | ||
− | ''Рекомендации'': для merge можно воспользоваться <code>std::list::merge</code> | + | ''Рекомендации'': для merge можно воспользоваться <code>std::list::merge</code><br /> |
для получения типа, на который указывает указатель, можно воспользоваться <code>std::iterator_traits</code> | для получения типа, на который указывает указатель, можно воспользоваться <code>std::iterator_traits</code> | ||
Версия 13:46, 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
Задание