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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ программа для печать таблицы в с++ http://www.cyberforum.ru/cpp-beginners/thread801346.html
Напишите программу на C++, использующую цикл и управляющую последовательность табуляции \t для печати следующей таблицы значений: N 10*N 100*N 1000*N 1 10 100 1000 2 20 200 2000 3 30 300 3000 4 40 400 4000 5 50 500 5000
C++ структура Структура CandyBar содержит три члена.Первый член хранит название коробки конфет.Второй - ее вес (который может иметь дробную часть), а третий - кол-во калорий (целое значение).Напишите программу, использующую функцию, которая принимает в качестве аргументов ссылка на CandyBar, указатель на char, значение double и значение int. Функция использует три последних значения для установки... http://www.cyberforum.ru/cpp-beginners/thread801330.html
C++ Структура CandyBar
Структура CandyBar содержит три члена.Первый член хранит название коробки конфет.Второй - ее вес (который может иметь дробную часть), а третий - кол-во калорий (целое значение).Напишите программу, использующую функцию, которая принимает в качестве аргументов ссылка на CandyBar, указатель на char, значение double и значение int. Функция использует три последних значения для установки...
C++ Перевод из int в string
Пожалуйста подскажите что не так. Для перевода пыталась сначала запихнуть int в stringstream, такой способ прочла где-то в инете. В качестве int выступает unitnum float AverageBright(float** y, string units, int** traject, int sizex, int sizey, int unitnum, int lenght) { std::stringstream ss; int *TrajectsOfThisUnit; float SumBright=0., AverBrig; //char *tmp; ...
C++ Все элементы, следующие за наибольшим элементом массива, увеличить на заданное число C http://www.cyberforum.ru/cpp-beginners/thread801310.html
Все элементы, следующие за наибольшим элементом массива, увеличить на заданное число C. В головной функции предусмотреть печать исходного и полученного массивов. C++
C++ Значение пустого оператора return Скажите для чего он нужен вообще? допустим: void Func(){ if(){ //что-то делаем return; } } подробнее

Показать сообщение отдельно
RiMpel2
0 / 0 / 0
Регистрация: 04.10.2010
Сообщений: 22
05.03.2013, 18:23     Счетчик сравнений для быстрой сортировки
Добрый вечер. Взял сортировку из википедии
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void qSort(int arr7[], int first, int last) {
      k = first;                
      l = last;
      x = arr7[(first+last)/2];  
      do {
          while(arr7[k] > x){ k++; }  
          while(arr7[l] < x){ l--; }  
          if(k <= l){           
              
              tmp = arr7[k];   
              arr7[k] = arr7[l];
              arr7[l] = tmp;
              pr5=pr5+1;  //перестановки+1 после перевертыша
              if(k==l || arr7[k]==arr7[l]){ pr5=pr5-1;} // минус один если перевернутые объекты совпадали
              k++; l--;           
          }
      } while(k < l);
      if(first < l) qSort(arr7, first, l);
      if(k < last) qSort(arr7, k, last);
  }
Изменил для убывания и подставил счетчик перестановок. По идее он должен работать верно. Интересует счетчик сравнений - не знаю куда поставить, помогите пожалуйста.
ПС считать на бумажке алгоритм с рекурсией для подсчета сравнений вручную очень муторно, поэтому прошу помочь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 08:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru