Merge Sort
Merge Sort
Write a program to implement Parallel Bubble Sort and Merge sort using OpenMP. Use
existing
algorithms and measure the performance of sequential and parallel algorithms.
#include<iostream>
#include<stdlib.h>
#include<omp.h>
using namespace std;
merge(a,i,mid,mid+1,j);
}
while(i<=j1)
{
temp[k++]=a[i++];
}
while(j<=j2)
{
temp[k++]=a[j++];
}
for(i=i1,j=0;i<=j2;i++,j++)
{
a[i]=temp[j];
}
}
int main()
{
int *a,n,i;
double start_time, end_time, seq_time, par_time;
// Sequential algorithm
start_time = omp_get_wtime();
mergesort(a, 0, n-1);
end_time = omp_get_wtime();
seq_time = end_time - start_time;
cout << "\nSequential Time: " << seq_time << endl;
// Parallel algorithm
start_time = omp_get_wtime();
#pragma omp parallel
{
#pragma omp single
{
mergesort(a, 0, n-1);
}
}
end_time = omp_get_wtime();
par_time = end_time - start_time;
cout << "\nParallel Time: " << par_time << endl;
return 0;
}