Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

Quicksort - C++

09.10.2012, 18:19. Просмотров 664. Ответов 0
Метки нет (Все метки)

Ребята у меня есть алгоритм Quicksort за какой формулой определить количество сравнений и копирования??
так как для алгоритма сортировками вставками формула есть:
для колва сравнений c=((n-1)*n)\2
и для обмена =((n-1)*n)\4

Добавлено через 5 минут
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
#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;
 
    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;
 
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2012, 18:19
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Quicksort (C++):

QuickSort - C++
Помогите с алгоритмом и кодом на C++ быстрой сортировки! Наработок вообще нет!

QuickSort на C++11 - C++
Написал быструю сортировку, добился работоспособности и сразу захотелось улучшить сам код. #include &lt;iostream&gt; #include...

Quicksort - C++
Дан массив, необходимо отсортировать его в порядке возрастания. Использую квиксорт, но в одном из тестов не проходит по времени (2с). ...

Реализация QuickSort - C++
Ребят, есть нужда отсортировать массив структур по полю name (по алфавиту) реализовав алгоритм QuickSort. Написал вроде как черновой...

stdlib.h - quicksort - C++
Идея такова: отсортировать массив A очень быстрым методом Хоара. Пробовал в stdlib.h делать QuickSort - ничего не получилось. Все значения...

Прокомментировать код. QuickSort - C++
Напишите пожалуйста как можно подробнее комментарии к каждой строке, а то я точно чайник и мало что понимаю #include &lt;iostream&gt; ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2012, 18:19
Привет! Вот еще темы с ответами:

QuickSort найдите ошибку - C++
Не правильно сортирует массив, подскажите в чем ошибка.... #include &lt;iostream&gt; using namespace std; int partition(int A,int p,int r);...

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

Число перестановок QuickSort - C++
Здравствуйте! Подскажите пожалуйста, как можно посчитать число перестановок QuickSort. Имеется массив на 10,000 элементов

Quicksort - исключение stack overflow - C++
Алгоритм сортирует таблицу со случайными числами на 100тыс, 500тыс, 1млн, но при сортировке уже отсортированной таблицы или таблицы обратно...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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