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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Fiasco
0 / 0 / 0
Регистрация: 28.10.2010
Сообщений: 23
15.05.2011, 20:21     Сортировка Хоара (быстрая сортировка) #1
Здравствуйте. Вот столкнуся с такой проблемой: мне нужно создать шаблон класса, который реализует быструю сортировку динамического одномерного массива:

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) - будет ошибка
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2011, 20:21     Сортировка Хоара (быстрая сортировка)
Посмотрите здесь:

C++ Сортировка двунаправленного линейного списка по алгоритму Хоара
Быстрая сортировка Хоара C++
C++ Быстрая сортировка Хоара без рекурсивных функций
C++ Сортировка Хоара
C++ Быстрая сортировка
C++ сортировка хоара
Сортировка методом "быстрая сортировка" C++
C++ Сортировка Хоара / Быстрая сортировка

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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