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

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

Войти
Регистрация
Восстановить пароль
 
_Kate_
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 92
Записей в блоге: 1
#1

Подсчёт количества сравнение в быстрой сортировке - C++

22.10.2012, 20:11. Просмотров 306. Ответов 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <conio.h>
#include <math.h>
#include <time.h>
using namespace std; 
void quickSort(int arr[], int left, int right) {
   int i = left, j = right;
   int tmp;
   int pivot = arr[(left + right) / 2];
 
    while (i <= j) {
    while (arr[i] < pivot)
   i++;
   while (arr[j] > pivot)
   j--;
 
   if (i <= j) {
  tmp = arr[i];
  arr[i] = arr[j];
  arr[j] = tmp;
  i++;
  j--;}
};
   /* recursion */
      if (left < j)
      quickSort(arr, left, j);
      if (i < right)
         quickSort(arr, i, right);}
int main(){
    setlocale(LC_CTYPE,"Russian");
    int num;
    cout << "Колво элементов: ";
    cin >> num; 
 
    int *mass = new int[num]; 
    srand((unsigned)time(NULL));
 for (int i = 0; i < num; i++) {
        mass[i] = rand()%20+100;
        cout<<mass[i]<<" ";  }
 cout<<endl;
 cout<<endl;
 
    getch();
    cout<<"Quicksorted array:"<<endl;
clock_t t0 = clock();
    quickSort(mass,0, num-1);//функция квиксорта.
    for (int i=0;i<num;i++){
        cout<<mass[i]<<"\t";}
    clock_t t1 = clock();
    cout<<endl;
        cout << "time: " << (double)(t1 - t0) / CLOCKS_PER_SEC << endl;
        int match;
        int match1;
        match1=(num*2)/2;
        match=2*num*log(num);
        double t;
        cin>>t;
        double b;
        b=log(t);
        cout<<b<<"ff"<<endl;
        cout<<"Колво сравнений рав но:"<<match<<endl;
        cout<<"Matches:"<<match1<<endl;
    getch();
    return 0;
}
Добавлено через 38 секунд
я так полагаю что нужно сделать это именно у функции quicksort!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2012, 20:11     Подсчёт количества сравнение в быстрой сортировке
Посмотрите здесь:

Ошибка в быстрой сортировке - C++
Мне нужно сравнить как минимум три сортировки массива. Т.к. плохо знаю С++ нашла шаблоны. И вот все на что я способна: :D #include...

Визуализатор по быстрой сортировке Хоара на С++ - C++
Всем доброго времени суток, я начинающий программист и на этом форуме не случайно. Конец семестра, а я до сих пор не знаю как реализовать...

Количество произведенных сравнений в Быстрой Сортировке - C++
Помогите подсчитать выполненное количество сравнений при алгоритме быстрой сортировки. Не могу определиться, куда нужно вставить счетчик. ...

Неверные и/или отрицательные значения в быстрой сортировке - C++
Здравствуйте. Прошу помочь разобраться с проблемой, над которой сам бился весь вчерашний вечер. Дело в том, что необходимо подсчитать...

Почему число сравнений в быстрой сортировке ( Хоара) различно? - C++
Сортирую один и тот же массив, но в различной степени упорядоченности, почему число сравнений различно, ведь всегда должно NlogN выходить? ...

Как подсчитать произведенное количество перестановок при быстрой сортировке? - C++
имею такой код #include &lt;iostream&gt; using namespace std; void qSort (int a,int nStart, int nEnd) { int L,R,c,X; if...

Подсчёт перестановок при быстрой сортировкое и методе пузырька - C++
Не получается выполнить задание, так как почему-то счётчик в быстрой сортировке выдаёт нереально огромное количество перестановок. Вот...

Переставить в быстрой сортировке вывод результата так чтобы он выполнялся один раз - C++
Куда переставить в быстрой сортировке вывод результата подсчета перестановок и сравнений так, чтобы результат печатался только один раз? ...

Ошибка при быстрой сортировке файла: "string subscript out of range" - C++
В файле input.txt содержатся сведения о группе студентов в формате: номер группы; запись о каждом студенте группы содержит следующие...

Подсчёт количества подстрок - C++
Посмотрите пожалуйста нормально ли написана функция, которая считает количество подстрок? int SearchSubString(char *s1,char *s2){ ...

Подсчёт количества символов - C++
Здравствуйте, возник вопрос: Почему в функцию не передаётся вся строка, например я пишу &quot;qwerty qwerty&quot; то он не передаёт второй &quot;qwerty&quot;...

Подсчёт количества слов в тексте - C++
Помогите пожалуйста с кодом. Для данного задания: Дан текст произвольной длины, оканчивающийся точкой. Текст состоит из слов,...


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

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

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