C LAB‎ > ‎(Sem2) Data Structures‎ > ‎

Qx17. WAP to perform Merge Sort.

posted Mar 15, 2011, 4:14 AM by Neil Mathew   [ updated Mar 15, 2011, 10:04 AM ]

SOURCE CODE:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include<stdio.h>
 
void MergeSort(int *a, int m, int *b, int n, int *c)
{
     int i=0,j=0,k=0;
     
     while( i<m && j<n)
     {
            if( a[i] <= b[j] )
            {
                c[k++]=a[i++];
            }
            else
            {
                c[k++]=b[j++];
            }
     }
     
     if( i<m )
     {
         while( i<m )
         c[k++]=a[i++];
     }
     else if( j<n )
     {
          while(j<n)
          c[k++]=b[j++];
     }
     
}
 
 
 
int main()
{
    int a[50],b[50],c[100];
    int i,m,n;
    
    printf("\n Enter the Size of Array A: ");
    scanf("%d",&m);
    
    printf("\n Enter the Elements (In Ascending Order) : ");
    for(i=0; i<m; i++)
    scanf("%d",&a[i]);
    
    printf("\n Enter the Size of Array B: ");
    scanf("%d",&n);
    
    printf("\n Enter the Elements (In Ascending Order) : ");
    for(i=0; i<n; i++)
    scanf("%d",&b[i]);
    
    MergeSort(a,m,b,n,c);
    
    printf("\n The Merged & Sorted Array C: ");
    for(i=0; i<(m+n); i++)
    printf(" %d",c[i]);
    
}
    
    
    
 

OUTPUT:



 Enter the Size of Array A: 6

 Enter the Elements (In Ascending Order) : 0 2 4 6 8 10

 Enter the Size of Array B: 5

 Enter the Elements (In Ascending Order) : 1 3 5 7 9

 The Merged & Sorted Array C:  0 1 2 3 4 5 6 7 8 9 10


Comments