Merging of two sorted lists : Array Merge « Array « C Tutorial

Home
C Tutorial
1.Language
2.Data Type
3.String
4.printf scanf
5.Operator
6.Statement
7.Array
8.Function
9.Structure
10.Pointer
11.Memory
12.Preprocessor
13.File
14.Data Structure
15.Search Sort
16.Wide Character String
17.assert.h
18.ctype.h
19.math.h
20.setjmp.h
21.signal.h
22.stdio.h
23.stdlib.h
24.string.h
25.time.h
26.wctype.h
C Tutorial » Array » Array Merge 




#include<stdio.h>
#include<conio.h>

void sort(int *,int);
void merge(int *,int *,int *,int);

void main(){
   int a[5],b[5],c[10];
   a[02;
   a[13;
   a[26;
   a[31;
   a[48;

   b[00;
   b[12;
   b[28;
   b[37;
   b[45;

   sort(a,5);
   printf("The sorted list a is:\n");
   int j;
   for(j=0;j<5;j++)
      printf("%d \n",a[j]);


   sort(b,5);
   printf("The sorted list b is:\n");
   for(j=0;j<5;j++)
      printf("%d \n",b[j]);

   merge(a,b,c,5);
   printf("The elements of merged list are \n");

   for(j=0;j<10;j++)
      printf("%d \n",c[j]);
}
void sort(int arr[] ,int k)
{
   int temp;
   int i,j;
   for(i=0;i<k;i++) {
      for(j=0;j<k-i-1;j++){
         if(arr[j]<arr[j+1])
         {
            temp=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=temp;
         }
      }
   }
}
void merge(int a[],int b[],int c[],int k){
   int indexA=0,indexB=0,indexC=0;
   while(indexA<k && indexB<k){
      if(a[indexA< b[indexB]){
            c[indexC]=a[indexA];
         indexA++;
      }else {
         c[indexC]=b[indexB];
         indexB++;
      }
      indexC++;
   }
   while(indexA<k)
   {
      c[indexC]=a[indexA];
      indexA++;indexC++;
   }
   while(indexB<k)
   {
      c[indexC]=b[indexB];
      indexB++;  indexC++;
   }
}
The sorted list a is:
8
6
3
2
1
The sorted list b is:
8
7
5
2
0
The elements of merged list are
8
7
5
2
0
8
6
3
2
1

Press ENTER to continue.














7.4.Array Merge
7.4.1.Merging of two sorted lists
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.