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

Быстрая сортировка: посчитать количество сравнений и обменов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ rand http://www.cyberforum.ru/cpp-beginners/thread977367.html
всем привет) что означает вот это строка double value = (rand()%1000)/100.0 - 5.0; и чем она отличается от этой double value = (rand()%1000)/100 - 5;
C++ Из статического массива в динамический Здравствуйте . Помогите , пожалуйста , переделать эту программу(сортировку) , чтобы она работала с динамическим массивом . #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; int array; void Sort(int col) { http://www.cyberforum.ru/cpp-beginners/thread977364.html
C++ Подготовить данные, содержащие информацию о пересчете
Подготовить данные, содержащие информацию о пересчете . Данные офрмиты в виде отчета, содержащего следующие поля : Фамилия Имя плательщика , Расчетный счет плательщика , Фамилия Имя получателя , Расчетный счет получателя , перевод суммы в гривнах . Создать программу записи подготовленных данных во внешний файл и прогамму обработки этого внешнего файла выполняет следующие операции: *- Выводит на...
C++ Блок-схема для программы №2
Нарисуйте пожалуйста блок схему для программы с++ #include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> int main() { double x,y;
C++ Блок-схема для программы http://www.cyberforum.ru/cpp-beginners/thread977327.html
Нарисуйте пожалуйста блок-схему для программы #include <stdio.h> #include <conio.h> #include <iostream.h> #include <math.h> int main() { int z,x;
C++ Сортировка вставками: количество сравнений и обменов реализация сортировки вставками где поставить счетчики сравнения и обменов ? вот код: // insertion_sort.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <iostream> #include <ctime> #include <iomanip> using namespace std; подробнее

Показать сообщение отдельно
__Александр__
7 / 10 / 0
Регистрация: 17.09.2012
Сообщений: 191
Записей в блоге: 2
14.10.2013, 18:42     Быстрая сортировка: посчитать количество сравнений и обменов
помогите, пожалуйста )
нужно посчитать количество сравнений и обменов в алгоритме "быстрой" сортировки.
для этого нужно установить два счетчика (++obmen и ++sravnienie, типа int).
как это сделать ?
вот код реализации:
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
#include <iostream>
#include <conio.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];
/* partition */
    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;
     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;
 
    getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 12:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru