Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- #include <time.h>
- #include <chrono>
- #include <fstream>
- #include <sstream>
- #include <algorithm>
- #include <string>
- using namespace std;
- void quickSort(int arr[], int left, int right) {
- int i = left, j = right;
- int tmp;
- int pivot = arr[(left + right) / 2];
- 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--;
- }
- };
- if (left < j)
- quickSort(arr, left, j);
- if (i < right)
- quickSort(arr, i, right);
- }
- int main() {
- setlocale(LC_CTYPE, "");
- int num;
- cout << "Кiлькiсть елементiв: ";
- cin >> num;
- int* mass = new int[num];
- for (int i = 0; i < num; i++) {
- mass[i] = rand() % 27 - 10;
- cout << mass[i] << "\t";
- }
- int* arr = new int[num];
- double max = 0, min = 0;
- int max_i, min_i;
- for (int i = 0; i < num; i++)
- {
- if (mass[i] > max)
- {
- max = mass[i];
- max_i = i;
- }
- }
- for (int i = 0; i < num; i++)
- {
- if (mass[i] < min)
- {
- min = mass[i];
- min_i = i;
- }
- }
- cout << endl;
- int index = 0;
- for (int i = std::min(max_i, min_i); i < std::max(max_i, min_i); ++i)
- {
- arr[index] = mass[i];
- index++;
- }
- cout << "\nВiдсортований масив:" << endl;
- quickSort(arr, 0, index - 1);
- for (int i = 1; i < index; i++) {
- cout << arr[i] << "\t";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment