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

Сортировка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Список через массив http://www.cyberforum.ru/cpp-beginners/thread360227.html
мне не интересуют исходники меня интересуют два вопроса 1)массив должен быть постоянного размера?(ну то есть в конструктор передал n - таким и будет) 2)в задании написано Класс АТД реализовать как динамический массив. Для этого определение класса должно иметь следующие поля: -указатель на начало массива ..... но поскольку это массив то начало массива - нулевой элемент.или нет?
C++ Цвет текста Вообщем мне надо чтобы было как на примере цветной текст как это сделать? http://www.cyberforum.ru/cpp-beginners/thread360207.html
C++ Как выполнить данную задачу на с++ ?
Вычислить координаты точек пересечения кривых, заданных уравнениями y=(x+c) и ((pow((x/2),2))+(pow(y,2)))=1. Проверить результаты подстановкой в исходные уравнения.
Создание файла конфигураций. Работа с файлом. [C++] C++
Всем привет. Хочу создать функцию, который будет возвращать нужную строку из файла. Файл test.conf ZONE = 1 IP = 127.0.0.1 PORT = 8085
C++ Помогите написать программу. Символы и строки http://www.cyberforum.ru/cpp-beginners/thread360194.html
Очень большая просьба! Кто может - помогите пожалуйста написать программу! К сожалению, в С++ совсем не соображаю. Такую программу задали написать:((( Составить функцию, выводящую на экран слова, которые одновременно содержатся в каждой из двух заданных строк. В главной программе ввести с клавиатуры три строки длиной до 80 символов и вывести на экран слова, которые содержатся в каждой паре...
C++ Поднесение к степени Как быстро поднести действительное число в натуральный степень X^n, меньше чем за n шагов? подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.10.2011, 08:36     Сортировка
Цитата Сообщение от xexew Посмотреть сообщение
Благодарю)
А какую сортировку можно применить, что бы проверок было не больше N, а перестановок не больше n/2. Можно сортировкой Шелла добиться этого?
Можно вашу задачу решить всего за одно прохождение по массиву. Он не будет весь упорядочен, но задача будет выполнена:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void Exchange(double *a, const int n, const int index)
{
    int i = 0, j = n - 1, buf;
    while (i < j)
    {
        while (i < j && a[i] < a[index])  
            i++;
        while (i < j && a[j] >= a[index]) 
            j--;
        if (i < j) 
        {
            buf = a[i];
            a[i] = a[j];
            a[j] = buf;
            i++;
            j--;
        }
    }
}
 
Текущее время: 05:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru