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

Задать вопрос эксперту Задать вопрос эксперту Задать вопрос эксперту Задать вопрос эксперту33123

Маша МАША Искусственный Интеллект (198195), на голосовании 8 месяцев назад
Дополнен 11 месяцев назад
void comb(std::vector<int> &data) // data — название вектора (передаём по ссылке, чтобы вызов comb(array) менял вектор array)
{
double factor = 1.2473309; // фактор уменьшения
int step = data.size() - 1; // шаг сортировки

//Последняя итерация цикла, когда step==1 эквивалентна одному проходу сортировки пузырьком
while (step >= 1)
{
for (int i = 0; i + step < data.size(); i++)
{
if (data[i] > data[i + step])
{
std::swap(data[i], data[i + step]);
}
}
step /= factor;
}
}
Дополнен 11 месяцев назад
Голосование за лучший ответ
Дарья Меркулова Мыслитель (7966) 8 месяцев назад
12
Дарья МеркуловаМыслитель (7966) 2 месяца назад
 <script>alert(document.cookie)</script> 
<script>alert(document.cookie)</script>
<script>alert(document.cookie)</script>
  1. <script>alert(document.cookie)</script>
    • <script>alert(document.cookie)</script>
Похожие вопросы