Форум программистов, компьютерный форум, киберфорум
Наши страницы

В одномерном массиве произвести сортировку элементов по убыванию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как распознать объект? http://www.cyberforum.ru/cpp-beginners/thread1218901.html
Имеется каталог картинок (папка с картинками). Размеры картинок (высота, ширина) одинаковые. Картинки появляются на экране. Нужно найти картинку на экране и записать в массив имя файла из каталога,...
C++ Суммы первых и последних элементов каждого массива записать в новый бинарный файл помогите решить задачи на завтрашний экзамен не могу получить допуск, вылетаю со стипендии точнее, коды есть, но ничего не работает бинарные файлы: 2. Компоненты бинарного файла – целочисленные... http://www.cyberforum.ru/cpp-beginners/thread1218881.html
C++ Поменять местами первый и последний отрицательные компоненты бинарного файла
помогите решить задачи на завтрашний экзамен не могу получить допуск, вылетаю со стипендии точнее, коды есть, но ничего не работает бинарные файлы: 1. Компоненты бинарного файла – вещественные...
Записать матрицу в другой файл в зеркальном отражении относительно вертикальной оси C++
помогите решить задачи на завтрашний экзамен не могу получить допуск, вылетаю со стипендии точнее, коды есть, но ничего не работает текстовые файлы: 3. В текстовом файле построчно хранится...
C++ Определить наименьший радиус круга с центром в начале координат, куда попадают все точки http://www.cyberforum.ru/cpp-beginners/thread1218878.html
помогите решить задачи на завтрашний экзамен не могу получить допуск, вылетаю со стипендии точнее, коды есть, но ничего не работает текстовые файлы: 2. Дан текстовый файл, в каждой строке...
C++ Определить шаблоный класс В одномерном массиве посчитать сумму элементов до минимального элемента. определить шаблонный класс.В конструкторе выделить динамическую память для массива. нужно что бы данные читались из файла и... подробнее

Показать сообщение отдельно
BatonPro
30 / 30 / 24
Регистрация: 21.06.2014
Сообщений: 81
28.06.2014, 16:02
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
void qSort(int* arr,int left, int right)
{
    int x=arr[(left+right)/2]; //выбираем опорный элемент
    int i=left,j=right;  //с помощью этих индексов мы разделим массив на 3 части
    while(i <= j)
    {
        while(arr[i]>x) //в левой части должны быть элементы большие чем опорный, поэтому ищем элемент меньше чем опорный
        {
            i++;
        }
        while(arr[j]<x)//в правой части должны быть элементы меньшие чем опорный, поэтмоу ищем элемент больше чем опорный
        {
            j--;
        }
        if(i<=j)//если элемент не в своей части
        {
            swap(arr[i], arr[j]);
            i++;
            j--;
        }
    }
    if (i<right) //сортируем правую часть, если она нуждается в сортировке
    {
        qSort(arr,i, right);
    }
    if (left<j)   //сортируем левую часть
    {
        qSort(arr,left, j);    
    }
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.