Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Kostay17
0 / 0 / 0
Регистрация: 05.11.2015
Сообщений: 10
1

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

05.11.2015, 18:51. Просмотров 245. Ответов 1
Метки нет (Все метки)

Программа сортирует числа в valarray с помощью быстрой сортировки, но не все элементы. Помогите исправить код так, чтоб сортировались все числа в valarray.
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
55
56
#include "stdafx.h"
#include "iostream"
#include <ctime>
#include <cstdlib>
#include <stdio.h>
#include <valarray>
using namespace std;
 
const int ARR_SIZE=50;
 
 
void quick_sort(valarray<int> &arr,int t, int j);
 
int main()
{
    setlocale(0,"");
    srand(time(0));
    
    valarray<int> arr1( ARR_SIZE);
 
    for(int i = 0; i<ARR_SIZE;i++)
    {
        arr1[i]=srand()%ARR_SIZE;
        cout<<arr1[i]<<" ";
    }
 
    quick_sort(arr1,0, ARR_SIZE-1);
    
    cout<<endl;
    for(int i = 0; i<ARR_SIZE;i++)
    {
        cout<<arr1[i]<<" ";
    }
}
 
void quick_sort(valarray<int> &arr,int t, int j)
{
    int size=j;
    int k=t;
    int c = arr[(j/2)];
    int tmp=0;
    do{
        while(arr[k]<c)k++;
        while(arr[j]>c)j--;
        if(k<=j)
        {
            tmp=arr[k];
            arr[k]=arr[j];
            arr[j]=tmp;
            k++;
            j--;
        }
    }while(k<=j);
    if(j>0) quick_sort(arr,0, j);
    if(size>k) quick_sort(arr, k, size-k);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2015, 18:51
Ответы с готовыми решениями:

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

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

Быстрая сортировка двумерного массива
Нужно отсортировать двумерный массив по убыванию быстрой сортировкой. Вроде всё работает, но не...

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

Быстрая сортировка массива по невозрастанию
Подскажите как с помощью быстрой сортировки отсортировать массив в обратном порядке(С большего до...

1
Fabeldyr
99 / 13 / 2
Регистрация: 11.09.2014
Сообщений: 151
Завершенные тесты: 1
09.11.2015, 16:49 2
посмотри в пример в википедии
или тут на форуме
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.11.2015, 16:49

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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