Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include "omp.h"
- //int array[N];
- #define N 5
- int main(int argc, char **argv)
- {
- int *array =(int*)malloc(N * sizeof(int));
- for (int i = 0; i < N; array[i] = N - i - 1, ++i);
- for (int i = 0; i < N; printf("%d ", array[i++]));
- //for (int i = 0; i < 10; i++ )
- //{
- // printf("%d %d %d\n", array[i],array[i+N/2],array[N - 10+i]);
- // }
- double t1, t2;
- // OddEvenSort(array);
- int sorted = 0;
- t1 = omp_get_wtime();
- int i;
- while(!sorted)
- {
- sorted = 1;
- // #pragma omp parallel for
- for(i = 1; i < N - 1; i += 2)
- {
- if(array[i] > array[i+1])
- {
- int buf = array[i];
- array[i] = array[i + 1];
- array[i + 1] = buf;
- sorted = 0;
- }
- }
- // #pragma omp parallel for
- for( i = 0; i < N - 1; i += 2)
- {
- if(array[i] > array[i+1])
- {
- int buf = array[i];
- array[i] = array[i + 1];
- array[i + 1] = buf;
- sorted = 0;
- }
- }
- }
- t2 = omp_get_wtime();
- printf("\n==========================\n");
- for (int i = 0; i < N; printf("%d ", array[i++]));
- //for (int i = 0; i < 10; i++ )
- //{
- // printf("%d %d %d\n", array[i],array[i+N/2],array[N - 10+i]);
- // }
- printf("Время: %f\n", t2 - t1);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement