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

Быстрая сортировка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Построение треугольника http://www.cyberforum.ru/cpp-beginners/thread720865.html
как найти координаты 3-й точки треугольника, если известны 2 другие и 2 угла при них?
C++ Создание вектора классов #include <algorithm> #include <vector> #include <stdio.h> #include <iostream> using namespace std; class _my { public: _my(); _my(int _a) http://www.cyberforum.ru/cpp-beginners/thread720864.html
C++ RLE шифрование
Добрый вечер. Моя задача - зашифровать строку методом RLE. Например, есть строка - "qqwweee". В зашифрованном виде она будет выглядеть так - "2q2w3e" Есть программа, но при запуске она у меня падает, выдавая ошибку ""string subscript out of range"" :( #include <iostream> #include <string> #include <time.h>
Шаблоны. Параметризованные классы C++
Здравствуйте. Нуждаюсь в помощи в данной лаб. работе. С помощью шаблонов сделать класс и продемонстрировать работу с ним. Вот условие. Динамический список Конструкторы: по умолчанию, с параметрами и копирования. Деструктор. функции: вставка элемента из головы (хвоста) в заданном месте; вывода списка на экран; поиск элемента списка; получения головы (хвоста) списка;
C++ Найти среднее арифметическое модулей кратных пяти элементов массива, расположенных после максимального элемента http://www.cyberforum.ru/cpp-beginners/thread720833.html
VC++ 6.0 10. Найти среднее арифметическое модулей кратных пяти элементов мас- сива, расположенных после максимального элемента. #include <iostream.h> #include <iomanip.h> #include <math.h> void minmax(int a,int,int*,int*,int*,int*);
C++ Допоможіть вирішити (заранее спасибо) 1. Скласти на комп*ютері квадрат Піфагора - множення натуральних чисел.. 2. Визначити суму 3 - го, 4 - го, 5 - го числа і 3 - ох останніх додатних елементів масиву.. 3. Згенерувати і вивести на екран масив 3 10 випалкових чисел від 40 - 60, та створити і вивести на екран новий масив, що складаеться з додатніх елементів масиву. Визначити максимальний елемент серед додатніх елементів.. подробнее

Показать сообщение отдельно
Rabbit13245
27 / 27 / 2
Регистрация: 21.04.2012
Сообщений: 280
05.12.2012, 22:46  [ТС]     Быстрая сортировка
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
template<class T>
void quickSortR(T* a, long N) {
// На входе - массив a[], a[N] - его последний элемент.
 
  long i = 0, j = N;        // поставить указатели на исходные места
  T temp, p;
 
  p = a[ N>>1 ];        // центральный элемент
 
  // процедура разделения
  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 ( j > 0 ) quickSortR(a, j);
  if ( N > i ) quickSortR(a+i, N-i);
}
вот он)

Добавлено через 9 минут
Так все. к вечеру все плохо. Подавал на вход размерность массива равную 10. А написано-то для последнего элемента. То есть 9.

Прошу прощения. Всем спасибо
 
Текущее время: 23:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru