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

Материал из SEWiki
Перейти к: навигация, поиск
м
(Задание merge sort)
Строка 12: Строка 12:
 
Необходимо написать функцию сортировки слиянием.<br />
 
Необходимо написать функцию сортировки слиянием.<br />
 
Сигнатура функции должны быть такой:<br />
 
Сигнатура функции должны быть такой:<br />
<code>template<typename Iter><br />
+
<source lang="cpp">template<typename Iter><br />
std::list<typename Iter::value_type> mergeSort(Iter left, Iter right);</code><br />
+
std::list<typename Iter::value_type> mergeSort(Iter left, Iter right);</source><br />
 
Исходные данные функция модифицировать не должна, в возвращаемом списке должны быть отсортированные элементы.
 
Исходные данные функция модифицировать не должна, в возвращаемом списке должны быть отсортированные элементы.
  
 
Затем необходимо добиться, чтоб можно было сортировать по указателям:<br />
 
Затем необходимо добиться, чтоб можно было сортировать по указателям:<br />
<code>int* array = new int[SIZE];<br />
+
<source lang="cpp">int* array = new int[SIZE];<br />
mergeSort(array, array + SIZE);</code>
+
mergeSort(array, array + SIZE);</source>
  
 
''Рекомендации'': для merge можно воспользоваться <code>std::list::merge</code><br />
 
''Рекомендации'': для merge можно воспользоваться <code>std::list::merge</code><br />

Версия 16:16, 18 марта 2011

Лабораторная работа №1

Задание

Лабораторная работа №2

Задание

Лабораторная работа №3

Задание merge sort

Необходимо написать функцию сортировки слиянием.
Сигнатура функции должны быть такой:

template<typename Iter><br />
std::list<typename Iter::value_type> mergeSort(Iter left, Iter right);

Исходные данные функция модифицировать не должна, в возвращаемом списке должны быть отсортированные элементы.

Затем необходимо добиться, чтоб можно было сортировать по указателям:

int* array = new int[SIZE];<br />
mergeSort(array, array + SIZE);

Рекомендации: для merge можно воспользоваться std::list::merge
для получения типа, на который указывает указатель, можно воспользоваться std::iterator_traits

Лабораторная работа №4

Задание

Лабораторная работа №5

Задание

To be continued