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

C/C++ FAQ :: Быстрая сортировка (сортировка Хоара) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести матрицу с файла http://www.cyberforum.ru/cpp-beginners/thread315551.html
не могу понять в чем проблема, файл с матрицей создан, директория правильная. Прошу проверить. #include <dos.h> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include...
C++ Словарь-Переводчик. вывод в textBox Вроде всё компилируется нормально, но выводить не хочет, помогите разобраться в чём ошибка, заранее благодарен! Проект прикреплён к сообщению http://www.cyberforum.ru/cpp-beginners/thread315543.html
C++ Реализация Функции Эйлера
Доброго времени суток,уважаемые форумчане! Помогите пожалуйста мне с такой проблемой (да,я видел тут похожие темы,но они мне не помогли). Мне нужно реализовать программу,которая выводит значение...
Сортировка C++
Ребята помогите написать программку на С/С++. Дана прямоугольная матрица . Отсортировать строки, индекс которых кратен числу а (вводимому с клавиатуры), по убыванию. Для остальных найти среднее...
C++ класс треугольник http://www.cyberforum.ru/cpp-beginners/thread315527.html
Доброй ночи.Помогите,пожалуйста написать программу. Создать класс треугольник, члены класса - координаты 3-х точек. Предусмотреть в классе методы проверки существования треугольника,вычисления и...
C++ В конструкторе вложенного класса инициализируется приватное поле. Потом вызывается функция-метод этого класса и выводит значение этого поля НО НЕ ТО! Друзья! Почему так? #include <windows.h> #include <iostream> using namespace std; //Вот главный класс class A{ private: подробнее

Показать сообщение отдельно
grizlik78
Эксперт С++
1957 / 1450 / 116
Регистрация: 29.05.2011
Сообщений: 3,012
08.06.2011, 02:54
Вряд ли. Тут ещё вопрос, что будет дешевле — пустой обмен один раз или проверка условия много раз. Как бы медленнее не получилось
Тогда уж логичнее вообще вынести эту проверку из цикла.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  do {
    while ( a[i] < p ) i++;
    while ( a[j] > p ) j--;
 
    if (i < j) {
      temp = a[i]; a[i] = a[j]; a[j] = temp;
      i++; j--;
    }
  } while ( i < j );
 
  if (i == j) {
    while ( a[i] < p ) i++;
    while ( a[j] > p ) j--;
 
    if (i == j) {
      i++; j--;
    }
  }
Вроде я нигде не погорячился, но всё-равно надо тщательно проверять.
А в сколь-нибудь заметном выигрыше я опять же сомневаюсь. Если не лень — проведи эксперимент
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru