Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <omp.h>
- #include <iostream>
- #include <chrono>
- #include <vector>
- #include <random>
- using namespace std;
- void quicksort(int* arr, int n) {
- long i = 0, j = n - 1;
- int pivot = arr[n / 2];
- do {
- while (arr[i] < pivot) i++;
- while (arr[j] > pivot) j--;
- if (i <= j) {
- swap(arr[i], arr[j]);
- i++;
- j--;
- }
- } while (i <= j);
- #pragma omp task shared(arr) firstprivate(i,j)
- if (j > 0) quicksort(arr, j + 1);
- #pragma omp task shared(arr) firstprivate(i,j)
- if(n>i) quicksort(arr+i,n-1);
- #pragma omp taskwait
- }
- int Alg() {
- long const n = 10;
- int arr[n];
- for (auto i = 0; i < n; i++) {
- arr[i] = rand() % 10;
- }
- quicksort(arr, n);
- for(auto i=0;i<n;i++) cout<<arr[i]<<endl;
- return 0;
- }
Add Comment
Please, Sign In to add comment