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

Алгорим быстрой сортировки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как поставить значок на прграмму http://www.cyberforum.ru/cpp-beginners/thread636199.html
Подскажите как мне поставить какой-нибудь значок на программу c++
C++ Программа с меню Недавно встретил программу в на паскале ABC может кто нибудь поможет реализовать ее на c++ uses crt; const nmenu=4; //кол-во строк в меню DataFileName = 'spis.dat'; //имя файла и путь к... http://www.cyberforum.ru/cpp-beginners/thread636159.html
C++ Как создать Не конкретное название файла?
Помогите написать одну простую программу: 1) Человек вводит в консоль название файла 2) затем вводит путь для его сохранения 3) компьютер выполняет Я не могу осуществить имя файла и путь.... ...
Функция не принимает значение C++
Вот код: #include "stdafx.h" #include "CRoute.h" #include <iostream> #include <string.h> #include <windows.h> using namespace std; int _tmain()
C++ Перегрузка функции. Зависимость от формулы http://www.cyberforum.ru/cpp-beginners/thread636125.html
Добрый день! Работаю с перегрузкой функции, но необходимо реализовать выбор зависимой формулы, благодаря которой будут считаться все функции. Это заголовочный файл в котором содержатся вычисляемые...
C++ Подвинуть кнопку Как средствами MFC при нажатии кнопки Windows(IDC_MYBUTTON_1 101) левой кнопкой мыши заставить её передвинуться? И посоветуйте, пожалуйста, толковую книгу по MFC. #define IDC_MYBUTTON_1 101... подробнее

Показать сообщение отдельно
bgm313
12 / 12 / 2
Регистрация: 27.07.2012
Сообщений: 208

Алгорим быстрой сортировки - C++

11.08.2012, 20:30. Просмотров 826. Ответов 5
Метки (Все метки)

В одной из тем выложен алгоритм быстрой сортировки. Возник вопрос: если индексы i и j указывают на один элемент зачем нужен обмен?

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
void quick(char *items, int count)
{
  qs(items, 0, count-1);
}
 
void qs(char *items, int left, int right)
{
  register int i, j;
  char x, y;
 
  i = left; j = right;
  x = items[(left+right)/2];
 
  do {
    while((items[i] < x) && (i < right)) i++;
    while((x < items[j]) && (j > left)) j--;
 
    if(i <= j) {
      y = items[i];
      items[i] = items[j];
      items[j] = y;
      i++; j--;
    }
  } while(i <= j);
 
  if(left < j) qs(items, left, j);
  if(i < right) qs(items, i, right);
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru