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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2016, 20:19   #1
Ans-lre
Новичок
Джуниор
 
Регистрация: 06.12.2016
Сообщений: 1
По умолчанию [C] Быстрая сортировка

Не совсем понимаю, что возвращает функция разделения. Индекс опорного элемента, который является медианой массива?
Медиана это когда среднеарифметическое слева от нее [медианы] меньше этого элемента, а справа - больше? Или среднеарифметические сравниваются не с элементом, а друг с другом?
Код:
int partHoare (int a[], int p, int r) {
    int x=a[p],i=p-1,j=r;
    while (1)
    {
        do  j--; while (a[j] > x);
        do  i++; while (a[i] < x);
        if  (i < j)   // надо ли после этого ещё сравнивать a[i]>a[j]?
            swap(&a[i], &a[j]);
        else 
            return j+1;
    }
}
void QuickSort (int a[], int start, int end) {
    int q;
    if (end-start<2) return;
    q = partHoare (a, start, end);
    QuickSort (a, start, q);
    QuickSort (a, q, end);
}
Ans-lre вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Быстрая сортировка kilogram PHP 5 29.04.2012 01:00
Быстрая сортировка(сортировка Хоара). Сортировка фрагмента массива [C++] druger Помощь студентам 0 20.04.2012 15:49
Быстрая сортировка doctorvra4 Помощь студентам 7 01.12.2011 15:41
Быстрая сортировка(сортировка хаора) с++ LustHunter Помощь студентам 3 07.10.2011 19:37
быстрая сортировка настолько быстрая Serg12 Помощь студентам 8 28.03.2010 21:31