Advertisement
shizaero

Untitled

May 18th, 2024
703
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3. using namespace std;
  4.  
  5. int binarySearch(int a[], int elem, int low, int up) {
  6.     if (low > up) return -1;
  7.     int middle = (low + up)/2;
  8.     if (a[middle] == elem) return middle;
  9.     if (a[middle] > elem) return binarySearch(a, elem, low, middle - 1);
  10.     else return binarySearch(a, elem, middle + 1, up);
  11. }
  12.  
  13. void quickSort(int a[], int left, int right) {
  14.     if (left > right) return;
  15.     int p = a[(left + right) / 2];
  16.     int i = left;
  17.     int j = right;
  18.     while (i <= j) {
  19.         while (a[i] < p) i++;
  20.         while (a[j] > p) j--;
  21.         if (i <= j) {
  22.             int temp = a[i];
  23.             a[i] = a[j];
  24.             a[j] = temp;
  25.             i++;
  26.             j--;
  27.         }
  28.     }
  29.     quickSort(a, left, j);
  30.     quickSort(a, i, right);
  31. }
  32.  
  33.  
  34. int main()
  35. {
  36.     setlocale(LC_ALL, "rus");
  37.     srand(time(0));
  38.     const int N = 10;
  39.     int a[N];
  40.  
  41.     cout << "Исходный массив:\n"; \
  42.         for (int i = 0; i < N; ++i) {
  43.             a[i] = rand() % 16;
  44.             cout << a[i] << "\t";
  45.     }
  46.  
  47.     cout << endl;
  48.     quickSort(a, 0, N - 1);
  49.     for (int i = 0; i < N; ++i) {
  50.         cout << a[i] << "\t";
  51.     }
  52.     cout << endl;
  53.     system("pause");
  54.     return 0;
  55. }
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement