Merge_Sort with Graph
Merge_Sort with Graph
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// Merge function
void merge(int arr[], int l, int m, int r)
{
int i, j, k;
int n1 = m - l + 1;
int n2 = r - m;
i = 0; j = 0; k = l;
while (i < n1 && j < n2)
{
if (L[i] <= R[j]) arr[k++] = L[i++];
else arr[k++] = R[j++];
}
mergeSort(arr, l, m);
mergeSort(arr, m + 1, r);
merge(arr, l, m, r);
}
}
// Main function
-2-
C:\Users\jayap\Desktop\2025-2025-Even Semester\BCS401-Analysis and Design of Algorithms\404 Lab Programs\11 Prg\merge_sort - Copy.c Friday, 18 April, 2025 10:48 AM
int main()
{
int arr[MAX_SIZE];
int n;
FILE *fp = fopen("merge_sort_results.txt", "w");
fprintf(fp, "n,time(ms)\n");
mergeSort(arr, 0, n - 1);
fclose(fp);
printf("\nResults saved in 'merge_sort_results.txt'.\n");
return 0;
}
/* OUTPUT
merge_sort_results.txt
n,time(ms)
5000 4.000
10000 5.000
15000 13.000
20000 13.000
25000 12.000
30000 13.000
35000 17.000
40000 24.000
45000 23.000
50000 41.000
*/
-5-
C:\Users\jayap\Desktop\2025-2025-Even Semester\BCS401-Analysis and Design of Algorithms\404 Lab Programs\11 Prg\merge_sort - Copy.c Friday, 18 April, 2025 10:48 AM
# Main execution
filename = "C:/Users/jayap/Desktop/2025-2025-Even
Semester/BCS401-Analysis and Design of Algorithms/404 Lab Programs/11
Prg/merge_sort_results.txt"
n_values, time_values = read_data(filename)
plot_graph(n_values, time_values)
OUTPUT :
-6-