You are on page 1of 2

PROGRAM 5

WAP to implement Merge Sort on an array of 10 elements. Take the required inputs from the user.
PSEUDO CODE:
mergeSort (array, low, high)
if (low < high)
midpoint = (low + high)/2
mergeSort (array, low, mid)
mergeSort (array, mid + 1, high)
merge (array, low, mid, high)

PROGRAM:
#include <iostream>
using namespace std;
void merge(int *arr, int low, int high, int mid) {
int i, j, k, c[50];
i = low;
k = low;
j = mid + 1;
while (i <= mid && j <= high) {
if (arr[i] < arr[j]) {
c[k] = arr[i];
k++;
i++;
}
else {
c[k] = arr[j];
k++;
j++;
}
}
while (i <= mid) {
c[k] = arr[i];
k++;
i++;
}
while (j <= high) {
c[k] = arr[j];
k++;
j++;
}
for (i = low; i < k; i++) {
arr[i] = c[i];
}
}
void merge_sort(int *arr, int low, int high) {
int mid;
if (low < high) {
mid=(low+high)/2;
merge_sort(arr,low,mid);
merge_sort(arr,mid+1,high);
merge(arr,low,high,mid);
}
}
int main() {
int array[10];
cout<<"GAUTAM VERMA A2305220659";
cout<<"\nEnter 10 elements: ";
for (int i = 0; i < 10; i++) {
cin>>array[i];
}
merge_sort(array, 0, 9);
cout<<"Sorted array: ";
for (int i = 0; i < 10; i++) {
cout<<array[i]<<" ";
}
}

OUTPUT:

COMPLEXITY: O(n log n)

You might also like