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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
katena88
 Аватар для katena88
6 / 2 / 1
Регистрация: 25.10.2010
Сообщений: 86
#1

Сортировка - C++

13.05.2011, 20:42. Просмотров 245. Ответов 3
Метки нет (Все метки)

Помогите отсортировать массив символов быстрой сортировкой) я ее не понимаю. Сделала вот так и не получается
Код
// ф-ция быстрой сортировки с разделением
int BSortirovka(int N, char* a)
{
template<class T>
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);
}
 
   return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2011, 20:42     Сортировка
Посмотрите здесь:

C++ сортировка
С++ сортировка C++
C++ сортировка
Сортировка C++
Сортировка C++
C++ сортировка
сортировка C++
Сортировка C++
C++ Сортировка
C++ Сортировка С++
Сортировка C++
Сортировка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
14.05.2011, 06:31     Сортировка #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
template<class T>
void qs(T* s_arr, T first, T last)
{
    T i = first, j = last, x = s_arr[(first + last) / 2];
 
    do {
        while (s_arr[i] < x) i++;
        while (s_arr[j] > x) j--;
 
        if(i <= j) {
            if (i < j) swap(s_arr[i], s_arr[j]);
            i++;
            j--;
        }
    } while (i <= j);
 
    if (i < last)
        qs(s_arr, i, last);
    if (first < j)
        qs(s_arr, first,j);
}
держи, должно работать.
katena88
 Аватар для katena88
6 / 2 / 1
Регистрация: 25.10.2010
Сообщений: 86
14.05.2011, 07:09  [ТС]     Сортировка #3
на самую первую строчку ругается
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
14.05.2011, 10:01     Сортировка #4
katena88, компилятор и ИДЕ какая? Что за ошибка?
Yandex
Объявления
14.05.2011, 10:01     Сортировка
Ответ Создать тему
Опции темы

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