#include void m_swap(int* arr, int i_1, int i_2) { int tmp = arr[i_1]; arr[i_1] = arr[i_2]; arr[i_2] = tmp; } int fib(int n) { //O(2**n) if (n < 2) return 1; return fib(n - 1) + fib(n - 2); } void sort_choice(int arr[], int size) { //n*n int i_mn = 0; for (int i = 0; i < size; ++i) { i_mn = i; for (int j = i + 1; j < size; ++j) { if (arr[j] < arr[i_mn]) { i_mn = j; } } if (i != i_mn) m_swap(arr, i, i_mn); } } void quickSort(int* arr, int left, int right) //n logN { int piv; int index; int _left = left; int _right = right; piv = arr[left]; while (left < right) { while ((arr[right] > piv) && (left < right)) right--; if (left != right) { arr[left] = arr[right]; left++; } while ((arr[left] < piv) && (left < right)) left++; if (left != right) { arr[right] = arr[left]; right--; } } arr[left] = piv; index = left; left = _left; right = _right; if (left < index) quickSort(arr, left, index - 1); if (right > index) quickSort(arr, index + 1, right); }