Задания по С++ — различия между версиями

Материал из SEWiki
Перейти к: навигация, поиск
(добавил задание merge sort)
м
Строка 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

Задание

To be continued