merge sort
merge sort
#include <stdio.h>
#include <string.h>
#define MAX 60
void display();
struct node {
int age;
char name[10];
char species[10];
int cage_no;
} s[MAX];
int main() {
int n, age;
char name[10];
char species[10];
int cage_no;
scanf("%d", &n);
scanf("%d", &age);
printf("Enter the name: ");
scanf("%s", name);
scanf("%s", species);
scanf("%d", &cage_no);
insert(age,name,species,cage_no);
display();
mergeSort(s, 0, n - 1);
display();
return 0;
int i, j, k;
int n1 = m - l + 1;
int n2 = r - m;
i = 0;
j = 0;
k = l;
s[k] = L[i];
i++;
} else {
s[k] = R[j];
j++;
k++;
s[k] = L[i];
i++;
k++;
s[k] = R[j];
j++;
k++;
if (l < r) {
int m = l + (r - l) / 2;
mergeSort(s, l, m);
mergeSort(s, m + 1, r);
merge(s, l, m, r);
if (top == MAX - 1) {
return;
++top;
s[top].age = a;
strcpy(s[top].name, b);
strcpy(s[top].species,c);
s[top].cage_no = d;
void display() {
if (top == -1) {
return;