Реализации алгоритмов/Алгоритм Нарайаны: различия между версиями
Содержимое удалено Содержимое добавлено
Нет описания правки |
Поправки к коду реализаций |
||
Строка 27:
/* narayana.c */
#include "narayana.h"
/* Обмен значениями двух элементов последовательности */
static void _swapItems (T *sequence, unsigned index_1, unsigned index_2) {
Строка 110 ⟶ 113 :
==[[w:C++|C++]]==
<source lang="cpp">
// narayana.hpp
namespace Narayana {
// Обмен значениями двух элементов последовательности
template < typename
static void
}
// Поиск очередной перестановки
Строка 135 ⟶ 138 :
j = end;
while (j != i && !(*compare)(*i, *--j));
// Этап № 3
++i;
j = end;
for ( ; (i != j) && (i != --j); ++i)
return true;
}
Строка 152 ⟶ 155 :
#include "narayana.hpp"
// Возвращает true, если value_0 меньше value_1, иначе — false
Строка 169 ⟶ 173 :
if (begin != end) {
std::cout << *begin;
for (
((std::cout << ',') << ' ') << *current;
}
|