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

Быстрая сортировка "Разделяй и властвуй" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Одинаковые элементы в дереве http://www.cyberforum.ru/cpp-beginners/thread121188.html
Хотел задать вопрос, если при добавлении повторяющегося элемента в список, представляемый в виде дерева, как его разместить правильно? У меня есть два варианта, но я не знаю, как правильно сделать....
C++ Перестроить список так, чтобы значения увеличивались от головы списка к его концу 1.В файле хранятся данные в виде записей формата R. R УЗЕЛ УСТ-ВА Устройство Номер узла Кол-во узлов Вес - М Цена http://www.cyberforum.ru/cpp-beginners/thread121174.html
Запись числового массива в файл?? C++
Срочно нужна помощь!!!! А вопрос, вот какой: Как записать динамический массив двоичных чисел в файл без преобразования в символьный массив!!!
C++ Подсчитать количество строк, которые начинаются и оканчиваются одной и той же буквой
ПОЖАЛУЙСТА можете помочь решить задачки 1. В текстовом файле подсчитать количество строк, которые начинаются и оканчиваются одной и той же буквой. И ВТОРАЯ ЗАДАЧА- 2. Написать программу записи в...
C++ Ввести структуру для описания понятия алгебраический полином http://www.cyberforum.ru/cpp-beginners/thread121143.html
Помогите решить задачи, срочно нужно 10. Ввести структуру для описания понятия алгебраический полином. Составить и протестировать функции для: а) сложения полиномов; б) вычитания полиномов; в)...
C++ Ввести структуру для описания комплексного числа Пожалуйста Помогите решит задачу, очень срочно надо было.... Ввести структуру для описания комплексного числа. Составить и протестировать функции для: а) возведения комплексного числа в целую... подробнее

Показать сообщение отдельно
Rinhvivar
2 / 2 / 0
Регистрация: 06.05.2010
Сообщений: 10
10.05.2010, 17:31
есть еще вариант

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
int n = 7;  //n - количество элементов
int a[7] = {10,6,4,5,3,10,1};  // исходный массив
 
 
void swap(int& i, int& j)   // меняем местами элементы
{
    int t;
    t = i;
    i = j;
    j = t;
}
 
 
void qs(int* s_arr,int first, int last)   // функция сортировки
{
    int i = first, j = last, x = (s_arr[first] + s_arr[last]) / 2; // x - опорный элемент
 
    do {
        while (s_arr[i] < x) i++;
        while (s_arr[j] > x) j--;
 
        if(i <= j) {
            if (i < j) swap(s_arr[i], s_arr[j]);
            i++;
            j--;
        }
    } while (i <= j);
 
    if (i < last)
        qs(s_arr,i, last);
    if (first < j)
        qs(s_arr,first,j);
}


в основной функции вызываем просто:


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