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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 36, средняя оценка - 4.94
Aesonet
23 / 23 / 1
Регистрация: 04.04.2012
Сообщений: 119
30.05.2012, 11:11     Сортировка Хоара #1
помогите правильно вставить счетчик шагов. Насколько я понял, функция сама себя перезапускает, тоесть надо в тело функции кидать, но так получается 100+ шагов, многовато ...
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
29
30
31
#include <iostream>
#include <conio.h>
using namespace std;
int mass[100];
int i,j,N,ns=0;
int quickSortR(int* mass, int N) {
  i = 0, j = N;       
  int temp, p;
 ns++;
  p = mass[ N>>1 ];        
   do {
    while ( mass[i] < p ) i++;
    while ( mass[j] > p ) j--;
 
    if (i <= j) {
      temp = mass[i]; mass[i] = mass[j]; mass[j] = temp;
      i++; j--;
    }
  } while ( i<=j );
  if ( j > 0 ) quickSortR(mass, j);
  if ( N > i ) quickSortR(mass+i, N-i);
}
int main()
{srand(time(NULL));
for (i=0;i<20;i++) {mass[i]=rand()%100+1; cout<<mass[i]<<"  ";}
cout<<"\n\n";
quickSortR(mass,19);    
for (i=0;i<20;i++) cout<<mass[i]<<"  ";
cout<<"\n"<<ns;
getch();   
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 11:11     Сортировка Хоара
Посмотрите здесь:

Алгоритм Хоара C++
C++ Алгоритм Хоара( код с алгоритмом)
C++ Сортировка двунаправленного линейного списка по алгоритму Хоара
Быстрая сортировка Хоара C++
C++ Быстрая сортировка Хоара без рекурсивных функций
C++ Визуализатор по быстрой сортировке Хоара на С++
C++ Ошибки в программе сортировки Хоара двумерного массива в С++
C++ сортировка хоара
C++ Сравнение алгоритмов сортировки Хоара и std::sort
C++ Сортировка методом Хоара
C++ Сортировка методом Хоара

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
30.05.2012, 11:13     Сортировка Хоара #2
Если Вам нужно реальное количество вызовов функции, то у Вас все верно.
Aesonet
23 / 23 / 1
Регистрация: 04.04.2012
Сообщений: 119
30.05.2012, 11:23  [ТС]     Сортировка Хоара #3
Хм, тогда получается, что сортировка выбором лучше, чем сортировка Хоара?
Или я не туда счетчик вставил?
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
29
30
31
32
33
34
#include <iostream>
#include <conio.h>
using namespace std;
int mass[100];
int i,j,N,ns=0;
int selectSort(int* mass, int N) 
{
    int tmp;
    for(int i = 0; i < N; ++i)
    { 
        int pos = i; 
        tmp = mass[i];
        for(int j = i + 1; j < N; ++j)
        {
            if (mass[j] < tmp) 
           {ns++;
               pos = j; 
               tmp = mass[j]; 
           }
        }
        mass[pos] = mass[i]; 
        mass[i] = tmp; 
        
    }return ns;
}
int main()
{srand(time(NULL));
for (i=0;i<20;i++) {mass[i]=rand()%100+1; cout<<mass[i]<<"  ";}
cout<<"\n\n";
selectSort(mass,20);    
for (i=0;i<20;i++) cout<<mass[i]<<"  ";
cout<<"\n"<<ns;
getch();   
}
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 1
30.05.2012, 12:42     Сортировка Хоара #4
Вот здесь найдете всю необходимую информацию.
Yandex
Объявления
30.05.2012, 12:42     Сортировка Хоара
Ответ Создать тему
Опции темы

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