Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
#1

Быстрая сортировка - C++

21.04.2012, 11:44. Просмотров 453. Ответов 3
Метки нет (Все метки)

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
void qSort(int a[], int N) {
    
    int i = 0, j = N;       
    int temp, p;
 
    p = a[ N / 2 ];     
 
    do 
        {
        while ( a[i] < p ) i++;
        while ( a[j] > p ) j--;
 
        if (i <= j) 
               {
            temp = a[i];
            a[i] = a[j];
            a[j] = temp;
            i++;
            j--;
        }
    }while ( i<=j );
    if ( j > 0 ) qSort(a, j);
    if ( N > i ) qSort(a+i, N-i);
}
Вызов идет таким образом qSort(mas, size-1);
Размер массива size = 2;
C++
1
2
mas[0] = 0;
mas[1] = 1;
Числа упорядоченные, а все равно переставляются. Не могу понять, как модифицировать код
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2012, 11:44     Быстрая сортировка
Посмотрите здесь:

Быстрая сортировка - C++
Здорова господа! Есть задачка: дан алгоритм быстрой сортировки. ну вообщем я ее cделал но ток без указателей. А задачка находиться в...

Быстрая сортировка - C++
Друзья, здравствуйте! Как работает быстрая сортировка - у меня практически вопросов нет: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...

Быстрая сортировка - C++
Помогите пожалуйста, при использовании алгоритма быстрой сортировки, конечный массив получается не отсортированным, хотя все операции...

Быстрая сортировка - C++
Воспользовался готовым решением для сортировки: Алгоритмы сортировок в итоге если беру массив: int A = {2,1,4,5,8,7,1,5,2,9} ...

Быстрая сортировка - C++
void quickSortR(int *first,int *last) { // На входе - массив a, a - его последний элемент. int *i = first, *j = last; ...

Быстрая сортировка - C++
Помогите, пожалуйста! Не понимаю почему, но при использовании быстрой сортировки программа выдаёт ошибку и не работает. Вообще первый раз...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stawerfar
141 / 55 / 4
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
21.04.2012, 11:54     Быстрая сортировка #2
Напиши коментарии если не сложно это позволит быстрее понять что ты делаешь
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
21.04.2012, 12:09     Быстрая сортировка #3
Если N - количество элементов, то зачем size - 1 ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.04.2012, 12:21     Быстрая сортировка
Еще ссылки по теме:

Быстрая сортировка - C++
Суть задания состоит в сортировке структуры по второму параметру. Сделал пузырьковым методом: #include &lt;iostream&gt; #include &lt;conio.h&gt;...

Быстрая сортировка - C++
нормальный код? а то третий день парюсь, вроде сейчас получилось void quicksort (int *a, int start, int end) { int point = partition...

Быстрая сортировка - C++
Дошёл до темы быстрой сортировки, набрал код, начал компилировать. Что-то странно, всё написано правильно, уже проверял, 8 раз, программа...

Быстрая сортировка - C++
Задача: пользователь задает количество элементов массива (макс. - 500 000), вводит их, затем задает количество запросов (макс. - 10000) и...

Быстрая сортировка - C++
Каждому элементу массива а соответствует значение массива b то есть a b 1-5 2-3 5-2 3-1 4-4 если сортировать массив b по...

Быстрая сортировка - C++
Здравствуйте уважаемые форумчане киберфорума. Имеется проблеммка с задачкой, могли бы вы помочь мне ее решить? Имеем двумерный...


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

Или воспользуйтесь поиском по форуму:
denys_l
52 / 52 / 4
Регистрация: 26.09.2011
Сообщений: 186
21.04.2012, 12:21  [ТС]     Быстрая сортировка #4
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Если N - количество элементов, то зачем size - 1 ?
Последний элемент массива 1. Т.к. нумерация начинает с 0. Переменной j присваивается значение последнего элемента. Если у меня массив на два элемента, то N = 2, но последний элемент равен 1. Обратиться как mas[2] нельзя.

Добавлено через 2 минуты
Вопрос отпадает.
Были ошибки при передаче аргументов в функцию, запутался с переменными...
Yandex
Объявления
21.04.2012, 12:21     Быстрая сортировка
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru