C/C++

Нужен код на с++

Написать функции для сортировки массива методами пузырька, Шелла, выбора,
пирамидальной сортировки, быстрой сортировки.
Давненько я не проверяла что быстрее работает - выбор или пузырёк (у них обоих временная сложность ~n²)? В такой вот реализации

#include <ctime>
#include <cstdlib>
#include <iomanip>
#include <iostream>

using namespace std;

void bubble(int x[], int size)
{ int i, j; for (i = 1; i < size; i++)
for (j = size - 1; j >= i; j--)
if (x[j - 1] > x[j]) swap(x[j - 1], x[j]); }

void choice(int x[], int size)
{ int m, n, mini, indexmini;
for (n = 0; n < size - 1; n++)
{ mini = x[n]; indexmini = n;
for (m = n + 1; m < size; m++)
if (x[m] < mini) { mini = x[m];
indexmini = m; }
swap(x[n], x[indexmini]); } }

int main()
{ int i, j, n, t, T, *a, *b; for (;;)
{ cout << "\033[1mn: "; cin >> n;
if (n < 2) break; a = new int [n];
b = new int [n]; srand(time(NULL));
for (i = 0; i < n; i++) a[i] = b[i] = rand() % 10000;
t = time(NULL); bubble(a, n); T = time(NULL);
cout << "Bubble: " << T - t << endl; t = T;
choice(b, n); cout << "Choice: " <<
time(NULL) - t << endl; delete [] a;
delete [] b; } cin.get(); cin.get(); return 0; }

получается, что choice быстрее bubble'a раза в три (ну или в два там с чем-то):А насчёт других методов сортировки и функций, их реализующих (в том числе и на плюсах !), могу сказать одно: их до такой-то Фени полным-полно в Сети...
Алексей Чернявский
Алексей Чернявский
66 572
Лучший ответ