Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.11.2014
Сообщений: 21

Qvick-sort алгоритм быстрой сортировки. Гляньте плс(

30.01.2015, 17:44. Показов 3715. Ответов 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
#include <iostream>
#include<conio.h>
 
using namespace std;
 
void qvick_sort(int *A,int *bb, int *ee)  //передаем указатель на 1 елемент.
                                                      //снова его и указатель на последний элемент) 
{
    int Q=A[ee]; //значение что выбираем в массиве
    int *b=bb;  //b и е указатели что будем менять
    int *e=ee;
    int swap; // доп переменная для обмена местами значений что по разным сторонам от заданного Q
    _getch();
    do 
        { while(A[b]<Q)
            b++;
        while (A[e]>Q)
            e--;
        if (b<=e) {swap =A[b]; A[b]=A[e]; A[e]=swap; ++b; --e;};
        }
        while (b<=e);       // условие при котором включаем регрессию
        if(e>bb) {qvick_sort(A, bb, e);};
        if(b<ee) {qvick_sort(A,b,ee);};
}
 
void main()
{
    int N;
    cout<< "BBedutb kol-Bo elemeHtoB massuBa "<<endl;
    cin>>N;
    int *A= new int [N];
        
        for(int  i=0;i<N; ++i)
    {
        A[i]= rand()%100;   //заполняем от 0 до 99;
        cout<<A[i]<<endl;
    }
_getch();
qvick_sort(A,0, *(A+sizeof(A)*N/sizeof(int)-1));
 for(int j=0;j<N;++j)
    {
        cout<<A[j]<<" ";
    }
 delete[]A;
 _getch();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2015, 17:44
Ответы с готовыми решениями:

Алгоритм Быстрой сортировки (Quick Sort)
Всем доброго времени суток. Реализовал Быструю Сортировку на C++. Всё работает. Только препод требует доказать, что мой алгоритм...

Алгоритм быстрой сортировки
Разработать и реализовать программу, которая будет сортировать массив алгоритмом быстрой сортировки

Алгоритм быстрой сортировки
Добрый день. Скиньте пожалуйста готовый код программы быстрой сортировки у кого есть.

2
 Аватар для 1XPLoade1
30 / 30 / 38
Регистрация: 23.01.2015
Сообщений: 174
30.01.2015, 19:28
Вот так:
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
50
51
52
53
54
#include <iostream>
#include <stdio.h>
#include <conio.h>
 
using namespace std;
 
void qvick_sort(int *A, int bb, int ee)  //передаем указатель на 1 елемент.
//снова его и указатель на последний элемент) 
{
    int i = bb, j = ee;
    int mid = (i + j) / 2;
    while (i <= j)
    {
        while (A[i] < A[mid] && i <= ee) i++;
        while (A[j] > A[mid] && j >= 0) j--;
 
        if (i <= j)
        {
            int swap = A[i];
            A[i] = A[j];
            A[j] = swap;
            i++; j--;
        }
    }
 
    if (i < ee) qvick_sort(A, i, ee);
    if (j > bb) qvick_sort(A, bb, j);
        
    return;
}
 
int main(int argc, char* argv[])
{
        int N;
        cout << "BBedutb kol-Bo elemeHtoB massuBa " << endl;
        cin >> N;
        int *A = new int[N];
 
        for (int i = 0; i<N; ++i)
        {
            A[i] = rand() % 100;   //заполняем от 0 до 99;
            cout << A[i] << endl;
        }
 
        qvick_sort(A, 0, N-1);
        for (int j = 0; j<N; ++j)
        {
            cout << A[j] << " ";
        }
        delete[]A;
        _getch();
 
    return 0;
}
1
0 / 0 / 0
Регистрация: 16.11.2014
Сообщений: 21
30.01.2015, 21:28  [ТС]
Спасибо, очень-очень близко от правильного! Примного благодарен, там только что-то чуток с алгоритмом у тебя т.к. считает вначале как-то карявенько несколько цифр потом всё идет нормально. т.е. что-то типо того 10 12 5 14 30 34... 1, 2 цифры всегда вначале как-то не так становятся.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2015, 21:28
Помогаю со студенческими работами здесь

Алгоритм быстрой сортировки
Написать программу, реализующую алгоритм быстрой сортировки(рекурсивный) для массива целых чисел.

Алгоритм быстрой сортировки
не могу понять, где ставить &lt;, &gt;, или &gt;=, &lt;= как точно понять?? А вообще это рабочий код, можете скомпилировать у себя:) #include...

Алгоритм быстрой сортировки
Совсем зеленый начинающий слабо понимаю синтаксис так что прошу не литься на столь глупые вопросы. import java.io.BufferedReader; ...

Алгоритм Быстрой Сортировки на C++
Можно ли этот алгоритм использовать для последовательности чисел? Просто в книге Сэджвика &quot;Фундаментальные алгоритмы на C++&quot;...

Алгоритм быстрой сортировки
Здравствуйте, буду очень рада если вы поможете Задание такое: Модифицируем алгоритм быстрой сортировки следующим образом. Вместо того,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru