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 / ANSI-C
C++
C++ Tutorial
Visual C++ .NET
C Tutorial » Array » Array Merge 
7.4.1.Merging of two sorted lists
#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",a[j]);

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

   for(j=0;j<5;j++)
      printf("%d \n",a[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
6
3
2
1
The elements of merged list are
8
6
3
2
1
7.4.Array Merge
7.4.1.Merging of two sorted lists
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.