Untitled

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> #include <ctime> using namespace std; const int cols = 10; int sel=0, quick=0, insert=0; void selectionSort(int *data, int lenD)//сортировка выборкой { int j = 0; for (int i = 0; i < lenD; i++) { j = i; for (int k = i; k < lenD; k++) { if (data[j] > data[k]) { j = k; sel++; } } swap(data[i], data[j]); } } void printmassive(int* massive, int chislo) { for (int i = 0; i < cols; i++) cout << massive[i] << " "; cout << endl; } void vosstanov(int* massive, int* massive2, int size) { for (int i = 0; i < size; i++) massive2[i] = massive[i]; } void quickSort(int* data, int const len) /// быстрая сортировка { int const lenD = len; int pivot = 0; int ind = lenD / 2; int i, j = 0, k = 0; if (lenD > 1) { int* L = new int[lenD]; int* R = new int[lenD]; pivot = data[ind]; for (i = 0; i < lenD; i++) { if (i != ind) { if (data[i] < pivot) { L[j] = data[i]; j++; } else { R[k] = data[i]; k++; } } } quickSort(L, j); quickSort(R, k); for (int cnt = 0; cnt < lenD; cnt++) { if (cnt < j) { data[cnt] = L[cnt]; quick++; } else if (cnt == j) { data[cnt] = pivot; quick++; } else { data[cnt] = R[cnt - (j + 1)]; quick++;//pochemu tak mnogo ni ponimayt } } } } void insertionSort(int data[], int lenD)// сортировка вставками { int key = 0; int i = 0; for (int j = 1; j < lenD; j++) { key = data[j]; i = j - 1; while (i >= 0 && data[i] > key) { data[i + 1] = data[i]; i = i - 1; data[i + 1] = key; insert++; } } } int main() { srand(time(NULL)); int massive[cols],massive2[cols]; for (int i = 0; i < cols; i++) massive[i] = (int)rand() % 20; vosstanov(massive,massive2,cols); printmassive(massive,cols); selectionSort(massive2,cols); printmassive(massive2,cols); vosstanov(massive, massive2, cols); quickSort(massive2, cols); printmassive(massive2, cols); vosstanov(massive, massive2, cols); insertionSort(massive2, cols); printmassive(massive2, cols); int spi[3] = { sel, quick, insert }; for (int i = 0; i < 4; i++) cout << spi[i] << '\t'; }
Editor Settings
Theme
Key bindings
Full width
Lines