Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Напишите код по заданию срочно

Тамик Люблюодну Ученик (138), закрыт 1 день назад
Самостоятельно изучить алгоритм сортировки вставками и написать код его реализации

ЯЗЫК ПРОГРАММИРОВАНИЯ С СРОЧНО
Лучший ответ
Николай Веселуха Высший разум (370555) 1 месяц назад
 #include <iostream> 

using namespace std;

template<typename Type>
struct Less {
constexpr bool operator()(const Type& left, const Type& right) const {
return left < right;
}
};

template<typename Type>
void iswap(Type* left, Type* right) {
Type tmp = *left;
*left = *right;
*right = tmp;
}

template<typename Type, typename Compare>
void insertion_sort(Type* begin, Type* end, Compare comp) {
if (!(begin < end)) return;
for (Type* current = begin + 1; current != end; ++current) {
for (Type* prev = current; prev != begin && comp(*prev, *(prev - 1)); --prev) {
iswap(prev - 1, prev);
}
}
}

template<typename Type, const size_t size>
void print(const Type(&sequence)[size]) {
for (auto &value : sequence) cout << ' ' << value;
cout.put('\n');
}

int main() {
const size_t size = 8;
int test[size] = { 6, 5, 3, 1, 8, 7, 2, 4 };
print(test);
insertion_sort(test, test + size, Less<int>());
print(test);
cin.get();
}
P.S. Полегчало?
Остальные ответы
Похожие вопросы