0 / 0 / 0
Регистрация: 09.10.2019
Сообщений: 10
1

Быстрая сортировка

09.10.2019, 14:25. Показов 1190. Ответов 1

Author24 — интернет-сервис помощи студентам
привет, был бы очень благодарен, если кто поможет, нашел в интернете код Быстрой сортировки (нужно написать именно самому) на с++, некоторые моменты оказались непонятны, не могли бы вы подсказать, что делают эти отрезки кода? Желательно подробнее
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
void qSort(int* a, int l, int r)
{
    int i=l, j=r, m=a[(l+r)/2];
    {
        for(; a[i]<m; i++);// что происходит здесь и ниже? Не совсем понимаю
        for(; a[j]>m; j--);
        if( i<=j) swap(a[i++],a[j--]);что происходит здесь?
    }while(i<=j);что происходит здесь?
    if(l<j) qSort(a,l,j);
    if(i<r) qSort(a,i,r);
}
void main(int argc, char* argv[])
{
    const int n=25;
    int a[n];
 
    srand((unsigned)time(0));
    for(int i=0; i<n; i++)
    {
        a[i]=rand()%100;
        cout<<a[i]<<" ";
    }
    cout<<endl;
    qSort(a,0,n-1);
    for(int i=0; i<n; i++) cout<<a[i]<<" ";
    cout<<endl;
    system("pause");
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.10.2019, 14:25
Ответы с готовыми решениями:

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

Быстрая сортировка (сортировка Хоара) для связных списков
есть у кого готовый алгоритм? или подскажите как реализовать

Сортировка Слиянием vs Быстрая Сортировка - что лучше
Народ, помогите разобраться какой из методов сортировки лучше &quot;Сортировка Слиянием&quot; или &quot;Быстрая...

Быстрая сортировка (сортировка методом Хоара)
Ввести массив x1,x2,...,x20 в диапазоне . Требуется расположить отрицательные элементы в порядке...

1
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
09.10.2019, 15:16 2
Лучший ответ Сообщение было отмечено Flymq1 как решение

Решение

Цитата Сообщение от Flymq1 Посмотреть сообщение
for(; a[i]<m; i++);// что происходит здесь и ниже? Не совсем понимаю
* * * * for(; a[j]>m; j--);
В левой части ищем элемент, который больше опорного
В правой - который меньше

После этих циклов - a[i] > a[j], их нужно поменять местами:

Цитата Сообщение от Flymq1 Посмотреть сообщение
if( i<=j) swap(a[i++],a[j--]);что происходит здесь?
Переносим элемент, который больше в правую часть, меньший в левую
1
09.10.2019, 15:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.10.2019, 15:16
Помогаю со студенческими работами здесь

C/C++ FAQ :: Быстрая сортировка (сортировка Хоара)
Вопрос, скорее академический, по мотивам реализации. Вот в faq приведена реализация этого метода...

Сортировка расчёской и быстрая сортировка
В файле in.txt записана последовательность целых чисел. Заданными методами отсортировать числа и...

Сортировка Хоара / Быстрая сортировка
Доброго времени суток. Написал реализацию алгоритма быстрой сортировки. void SortHhoar(int...

Быстрая сортировка
Что нужно исправить? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; template...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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