Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.10.2016, 16:23   #1
erslgoeirjh
Форумчанин
 
Регистрация: 19.05.2009
Сообщений: 153
По умолчанию Алгоритм быстрой сортировки по по убыванию

Я нашёл алгоритм быстрой сортировки по возрастанию:

Код:
int n, a[n]; //n - количество элементов
void qs(int* s_arr, int first, int last)
{
    int i = first, j = last, x = s_arr[(first + last) / 2];
 
    do {
        while (s_arr[i] < x) i++;
        while (s_arr[j] > x) j--;
 
        if(i <= j) {
            if (s_arr[i] > s_arr[j]) swap(&s_arr[i], &s_arr[j]);
            i++;
            j--;
        }
    } while (i <= j);
 
    if (i < last)
        qs(s_arr, i, last);
    if (first < j)
        qs(s_arr, first, j);
}
https://ru.wikibooks.org/wiki/%D0%A0...80%D0%B0%D1%8F

Алгоритм быстрой сортировки по убыванию я не нашёл.
Насколько я понимаю, он должен выглядеть следующим образом:

Код:
int n, a[n]; //n - количество элементов
void qs(int* s_arr, int first, int last)
{
    int i = first, j = last, x = s_arr[(first + last) / 2];
 
    do {
        while (s_arr[i] > x) i++;
        while (s_arr[j] < x) j--;
 
        if(i >= j) {
            if (s_arr[i] < s_arr[j]) swap(&s_arr[i], &s_arr[j]);
            i++;
            j--;
        }
    } while (i >= j);
 
    if (i < last)
        qs(s_arr, i, last);
    if (first < j)
        qs(s_arr, first, j);
}
Прав ли я или нет? Как правильно должен выглядеть алгоритм быстрой сортировки по убыванию?
erslgoeirjh вне форума Ответить с цитированием
Старый 17.10.2016, 16:42   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А в чем проблема - запустите и посмотрите, отсортированны ли элементы...
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор быстрой сортировки Asya7 Помощь студентам 2 03.09.2015 19:44
визуализация быстрой сортировки (С++) FrauAja Помощь студентам 10 19.03.2013 14:31
Алгоритмы сортировки пирамидальный(кучей) и быстрой сортировки (с++) mmd12 Помощь студентам 4 17.05.2012 14:14
Проблема с алгоритмом быстрой сортировки maryan.vetrov Общие вопросы C/C++ 2 31.08.2010 18:56
Метод быстрой сортировки Nord18 Паскаль, Turbo Pascal, PascalABC.NET 1 05.06.2010 11:24