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

Сортировка Хоара (быстрая сортировка) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран монитора все числа из текста http://www.cyberforum.ru/cpp-beginners/thread296359.html
Ввести стрічку довільної довжини, яку трактуватимемо як текст, у якому слова відокремлені одним або кількома пробілами (довжина слів, загалом, довільна). Враховуючи, що в тексті зустрічаються слова, що містять як букви, так і цифри, а також просто числа, що містять цифри, вивести на екран монітора всі числа. на С++ Ввести строку произвольной длины, которую будем трактовать как текст, в...
C++ Перед и после каждого тире в тексте поставить пробелы (строки). Перед и после каждого тире в тексте поставить пробелы. Написать программу с помощью строк. http://www.cyberforum.ru/cpp-beginners/thread296354.html
C++ Описать структуру с именем STUDENT
помогите,пожалуйста! написала прогу,она не работает(((( #include "stdafx.h" #include <stdio.h> #include<conio.h> #include<iostream> using namespace std;
C++ Ошибка при записи в файл
помогите, вылетает ошибка при записи в файл ф-я void add_in_file(int n) что не так? #include <iostream> #include <conio.h> #include <string> #include <stdio> #define MAXT 30
C++ Переместить элемент на n поз. назад(кольц.односв.сп) http://www.cyberforum.ru/cpp-beginners/thread296339.html
Собственно сабж есть кольцевой односвязный список. нужно переместить последний элемент(на который указываем в данный момент) на n позиций назад, и остальные позиции сдвинуть вправо. тоесть есть 1 2 3 4 5 6 7 возвращаем на 3 назад получаем 1 2 3 7 4 5 6
C++ Builder Движение спрайта по синусоиде Подскажите, пожалуйста, как реализовать движение спрайта по синусоиде? Сейчас движется только горизонтально. (Спрайт движется по форме, меняя скорость) //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init)... подробнее

Показать сообщение отдельно
Fiasco
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 23

Сортировка Хоара (быстрая сортировка) - C++

15.05.2011, 20:21. Просмотров 1343. Ответов 0
Метки (Все метки)

Здравствуйте. Вот столкнуся с такой проблемой: мне нужно создать шаблон класса, который реализует быструю сортировку динамического одномерного массива:

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);
}
а как теперь вызвать метод quickSortR(), если я создаю обьект класса, с помощью шаблона:
TMass <int> b (size1); где size1 - размер массива, TMass - имя класса.

Метод quickSortR имеет 2 параметра: размер массива и указатель на массив.
Когда я реализую вызов так: b.quickSortR(b, size1) - будет ошибка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru