Merge sort

// Merge sort //

#include
#include
#define SIZE 10
class int_list
{
private:
int arr[SIZE];
int no;
public:
int_list()
{
no=0;
}
void getdata(void);
void putdata(void);
void sort(void);
int_list merge(int_list);
};
void int_list::getdata(void)
{
cout<<"Enter the no. of elements:"; cin>>no;
if(no<=SIZE) { cout<<"Enter the terms:\n"; for(int i=0;i>arr[i];
}
else
{
cout<<"No.of elements should be<="<getdata();
}
}
void int_list::putdata(void)
{
if(no==0)
cout<<"U N D E R F L O W\n"; else { cout<<"Terms are:\n"; for(int i=0;i < i="0;i" j="i+1;j < no;j++)" > arr[j])
{
int temp;
temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
int_list int_list::merge(int_list a)
{
int_list n;
n.no=-1;
int i,j;
for(i=0,j=0;i < no && j < a.no;)
n.arr[++n.no]=(arr[i]< a.arr[j])?arr[i++]:a.arr[j++];
if(i < no)
{
for(int l=i;l < no;l++)
n.arr[++n.no]= arr[l];
}
if(j<=a.no)
for(int l=j;l < a;l++)
n.arr[++n.no]=a.arr[l];
n.no++;
return(n);
}
int main()
{
int_list a;
clrscr();
a.getdata();
int_list b;
b.getdata();
a.sort();
b.sort();
int_list c=a.merge(b);
c.putdata();
getch();
return(0);
}

Post a Comment

Previous Post Next Post