Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
168 / 8 / 1
Регистрация: 15.11.2018
Сообщений: 256
1

Пошаговая быстрая сортировка массива

28.12.2019, 21:40. Показов 2770. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу пошаговой быстрой сортировки.
1. Ввод N - количество элементов массива
2. Исходный массив
3. Ввести с клавиатуры "Y" - запустить сортировку
4. Выполнить шаг сортировки. Если массив не отсортирован, то повторить шаги 3 и 4
5. Если массив отсортирован, то вывести отсортированный массив на экран
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2019, 21:40
Ответы с готовыми решениями:

Быстрая сортировка(сортировка Хоара). Отсортировать фрагмент массива
Мне нужно отсортировать фрагмент массива, расположенный между первым и последним отрицательным...

Быстрая сортировка массива
Помогите, как написать быструю сортировку для одномерного массива, если для этого нужно...

Быстрая сортировка массива
Программа сортирует числа в valarray с помощью быстрой сортировки, но не все элементы. Помогите...

Быстрая сортировка двумерного массива
Нужно отсортировать двумерный массив по убыванию быстрой сортировкой. Вроде всё работает, но не...

1
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
28.12.2019, 21:43 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <vector>
#include <ctime>
 
void qsort(std::vector<int>& mass, int b, int e);
 
int main(int argc, char* argv[])
{
    srand(time(0));
    int N;
    std::cout << "Enter size: ";
    std::cin >> N;
    std::vector<int> mass(N);
    for (int i = 0; i < N; i++)
    {
        mass[i] = 0 + rand() % 101;
    }
 
    qsort(mass, 0, N - 1);
    for (int i = 0; i < N; i++)
    {
        std::cout << mass[i] << " ";
    }
 
    std::cout << "\n";
    system("pause");
    return 0;
}
 
void qsort(std::vector<int>& mass, int b, int e)
{
    int l = b, r = e;
    int piv = mass[(l + r) / 2];
    while (l < r)
    {
        while (mass[l] < piv)
            l++;
        while (mass[r] > piv)
            r--;
        if (l <= r)
            std::swap(mass[l++], mass[r--]);
    }
 
 
    if (b < r)
        qsort(mass, b, r);
    if (e > l)
        qsort(mass, l, e);
}
0
28.12.2019, 21:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2019, 21:43
Помогаю со студенческими работами здесь

Быстрая сортировка массива по невозрастанию
Подскажите как с помощью быстрой сортировки отсортировать массив в обратном порядке(С большего до...

Быстрая сортировка массива структур
Подскажите, пожалуйста, как можно быстро отсортировать массив структур? (1 &lt;= N &lt;= 10^18) #include...

Быстрая сортировка двумерного массива
Возникла проблема с програмой в которой применяется быстрая сортировка двумерного массива. При...

Быстрая сортировка двумерного массива
Здравствуйте. У меня есть задание по сортировкам. Нужно заданный двумерный массив из рандомных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru