• C++. Помогите разобраться с программой!
    Дайте комментарий к каждой строке и команде к ней , опишите принцип действия.

    int comb(vector sort)
    {
    int n = 0; // количество перестановок
    double fakt = 1.2473309; // фактор уменьшения
    int step = sort.size() - 1;

    while (step >= 1)
    {
    for (int i = 0; i + step < sort.size(); ++i)
    {
    if (sort[i] > sort[i + step])
    {
    swap(sort[i], sort[i + step]);
    n++;
    }
    }
    step /= fakt;
    }
    // сортировка пузырьком
    for (int i = 0; i < sort.size() - 1; i++)
    {
    bool swapped = false;
    for (int j = 0; j < sort.size() - i - 1; j++)
    {
    if (sort[j] > sort[j + 1]) {
    swap(sort[j], sort[j + 1]);
    swapped = true;
    ++n;
    }
    }

    if (!swapped)
    break;
    }
    return n;
    }

Ответы 1

  • int comb(vector sort) { int n = 0; // количество перестановок double fakt = 1.2473309; // фактор уменьшения int step = sort.size() - 1; while (step >= 1) { for (int i = 0; i + step < sort.size(); ++i) { if (sort[i] > sort[i + step]) { swap(sort[i], sort[i + step]); n++; } } step /= fakt; } // сортировка пузырьком for (int i = 0; i < sort.size() - 1; i++) { bool swapped = false; for (int j = 0; j < sort.size() - i - 1; j++) { if (sort[j] > sort[j + 1]) { swap(sort[j], sort[j + 1]); swapped = true; ++n; } } if (!swapped) break; } return n; }
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years