Форум программистов, компьютерный форум, киберфорум
Наши страницы

Сортировка методом Шелла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ явная специализация http://www.cyberforum.ru/cpp-beginners/thread1050269.html
Всем добра, может кто объяснить для чего нужна явная специализация, если можно сделать перегрузку.
C++ Дать описание кода, который определяет сколько нулей лежит вне минимального и максимального значений массива Объясните, что означает каждая строка кода. Заранее спасибо:) Определить, сколько нулей лежит вне минимального и максимального значений массива I. #include <iostream> #include <cstdlib> using... http://www.cyberforum.ru/cpp-beginners/thread1050244.html
C++ Массивы (двумерный)
Дан двумерный массив, элементы которого - целые числа. Вставьте новый столбец, каждый элемент которого число ноль, перед всеми столбцами, в которых встречается заданное число X. В первой строке...
C++ Прокомментировать код программы на перестановку матриц
Мира всем!) Имеется задача , имеется представление о том, как она работает , но нет полной понятности. Прошу прокомментировать каждую строчку кода, т.е. "разжевать". Текст: B матрице С...
C++ Необходимо добавить цикл поиска главного элемента по столбцу. никак не получается http://www.cyberforum.ru/cpp-beginners/thread1050225.html
Нужно,чтобы был выбор программа искала максимальный элемент по столбцу и ставила его на 1 место....никак не могу добавить ........... #include <iostream> using namespace std; void...
C++ Необходимо дать описание каждой строки кода с++ Имеется код, который максимальный элемент в массиве заменяет средним арифметическим элементов строки. Необходимо дать описание каждой строки кода. Спасибо:) #include <iostream> #include... подробнее

Показать сообщение отдельно
outoftime
║XLR8║
511 / 433 / 33
Регистрация: 25.07.2009
Сообщений: 2,295
20.12.2013, 22:52
C++
1
2
3
4
5
6
7
8
9
template< typename RandomAccessIterator, typename Compare >
void shell_sort( RandomAccessIterator first, RandomAccessIterator last, Compare comp )
{
    for( typename std::iterator_traits< RandomAccessIterator >::difference_type
            d = ( last - first ) / 2; d != 0; d /= 2 )
        for( RandomAccessIterator i = first + d; i != last; ++i )
            for( RandomAccessIterator j = i; j - first >= d && comp( *j, *( j - d ) ); j -= d )
                std::swap( *j, *( j - d ) );
}
Добавлено через 29 секунд
Описание ищи на вики или на форуме.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.