Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
4 / 4 / 5
Регистрация: 30.08.2012
Сообщений: 155
1

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

28.12.2014, 17:47. Показов 1250. Ответов 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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
void qsort(vector<int> &mass,int b, int e);
 
int main(int argc, char* argv[])
{
    int N;
    cout << "Vvedite razmer: ";
    cin >> N;
    vector<int> mass(N);
    cout << "Vvedite elementy: ";
    for (int  i = 0; i < N; i++)
    {
        cin >> mass[i];
    }
 
    qsort(mass,0, N -1);
    for (int  i = 0; i < N; i++)
    {
        cout << mass[i] << " ";
    }
 
    cout << "\n";
    system("pause");
    return 0;
}
    void qsort(vector<int> mass,int b, int e)
    {
    int l = b, r = e;
        int piv = mass[(l + r) / 2]; 
           while (l <= r)
    {
            while (mass[l] < piv)
            l++;
            while (mass[r] > piv)
            r--;
            if (l <= r)
            swap (mass[l++], mass[r--]);
    }
 
    
    if (b < r)
        qsort (b, r);
    if (e > l)
        qsort (l, e);
 
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.12.2014, 17:47
Ответы с готовыми решениями:

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

Быстрая сортировка массива
Программа сортирует числа в valarray с помощью быстрой сортировки, но не все элементы. Помогите...

Быстрая сортировка двумерного массива
Помогите разобраться с быстрой сортировкой! Для одномерного массива всё понятно, но как сортировать...

Пошаговая быстрая сортировка массива
Написать программу пошаговой быстрой сортировки. 1. Ввод N - количество элементов массива 2....

1
117 / 121 / 42
Регистрация: 25.08.2012
Сообщений: 1,294
28.12.2014, 18:08 2
Liori, вам следовало передать вектор по ссылке:

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
#include <iostream>
#include <vector>
#include <ctime>
 
using namespace std;
void qsort(vector<int>& mass,int b, int e);
 
int main(int argc, char* argv[])
{
    srand( time(0) );
    int N;
    cout << "Vvedite razmer: ";
    cin >> N;
    vector<int> mass(N);
    for (int  i = 0; i < N; i++)
    {
        mass[i] = 0 + rand() % 101;
    }
 
    qsort( mass, 0, N-1);
    for (int  i = 0; i < N; i++)
    {
        cout << mass[i] << " ";
    }
 
    cout << "\n";
    system("pause");
    return 0;
}
 
void qsort(vector<int> &mass,int b, int e)
{
    int l = b, r = e;
    int piv = mass[(l + r) / 2]; 
    while (l < r)
    {
        while (mass[l] < piv)
            l++;
        while (mass[r] > piv)
            r--;
        if (l <= r)
        swap(mass[l++], mass[r--]);
    }
 
    
    if (b < r)
        qsort ( mass, b, r);
    if (e > l)
        qsort ( mass, l, e);
}
1
28.12.2014, 18:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2014, 18:08
Помогаю со студенческими работами здесь

Быстрая сортировка массива структур
Подскажите, пожалуйста, как можно быстро отсортировать массив структур? (1 &lt;= N &lt;= 10^18) #include...

Ввод массива и быстрая сортировка
Вводиться массив N строк,каждая строка заканчивается символом &quot;0&quot;, выбрать строки не содержащие...

Быстрая сортировка двумерного массива
Здравствуйте. У меня есть задание по сортировкам. Нужно заданный двумерный массив из рандомных...

Быстрая сортировка двумерного массива
Возникла проблема с програмой в которой применяется быстрая сортировка двумерного массива. При...


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

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