Earn without any Investment!

Wednesday, October 20, 2010

Insertion Sort

#include<iostream.h>
#include<conio.h>
class insertion
{
 public:
  int a[20],i,j,k,n;
  void getdata();
  void putdata();
  void sort();
  void display();
};
void insertion::getdata()
{
 cout<<"\n Enter the no of elements:";
 cin>>n;
 cout<<"\n Enter th elements one by one:";
 for(i=0;i<n;i++)
 {
  cin>>a[i];
 }
}
void insertion::putdata()
{
   cout<<"\n Unsorted list:";
   for(i=0;i<n;i++)
   {
    cout<<"\n"<<a[i];
   }
}
void insertion::sort()
 {
  for(j=1;j<n;j++)
  {
   k=a[j];
   for(i=j-1;i>=0 && k<a[i];i--)
   a[i+1]=a[i];
   a[i+1]=k;
   cout<<"\n Pass "<<j<<" elements inserted in proper place:"<<k<<"\n";
   for(i=0;i<n;i++)
   cout<<a[i]<<"\n";
  }
 }
 void insertion::display()
 {
  cout<<"\n Sorted list is:";
  for(i=0;i<n;i++)
  cout<<"\n"<<a[i];
 }
 void main()
 {
  clrscr();
  insertion i;
  i.getdata();
  i.putdata();
  i.sort();
  i.display();
  getch();
}

Bubble Sort

#include<iostream.h>
#include<conio.h>
class bubble
{
 public:
     int a[10],i,j,k,n,temp,xchange;
     void getdata();
     void disp();
     void sort();
     void putdata();
};
void bubble::getdata()
{
 cout<<"\n Enter the no. of element:";
 cin>>n;
 cout<<"Enter the element one by one:";
 for(i=0;i<n;i++)
 {
  cin>>a[i];
 }
}
void bubble::putdata()
{
 cout<<"\n Unsorted list:";
 for(i=0;i<n;i++)
 {
  cout<<"\n"<<a[i];
 }
}
void bubble::sort()
{
 for(i=0;i<n;i++)
 {
  xchange=0;
  for(j=0;j<n-1;j++)
  {
   if(a[j]>a[j+1])
   {
    temp=a[j];
    a[j]=a[j+1];
    a[j+1]=temp;
    xchange++;
   }
 }
 if(xchange==0)
 break;
 cout<<"\n After passsing"<<i+1<<"Elements are:";
 for(k=0;k<n;k++)
 {
  cout<<"\n"<<a[k];
 }
 }
 }
 void bubble::disp()
 {
  cout<<"\n Sorted list is:";
  for(i=0;i<n;i++)
  {
   cout<<"\n"<<a[i];
  }
 }
 void main()
 {
 clrscr();
 bubble b;
 b.getdata();
 b.putdata();
 b.sort();
 b.disp();
 getch();
 }

Quick Sort in C++

#include<iostream.h>
#include<conio.h>
class quick
{
public:
int a[20],n,i;
void getdata();
void putdata();
void sort();
void quicksort(int arr[],int low,int up);
void display(int a[],int,int);
};
void quick::getdata()
{
cout<<"\nEnter the number of Elements:";
cin>>n;
cout<<"\nEnter the elements one by one:";
for(i=0;i<n;i++)
{
cin>>a[i];
}
}
void quick::putdata()
{
cout<<"\nUnsorted List :\t";
display(a,0,n-1);
cout<<"\n";
}
void quick::sort()
{
quicksort(a,0,n-1);
cout<<"\nSorted List:\n";
display(a,0,n-1);
cout<<"\n";
}
void quick::quicksort(int arr[],int low,int up)
{
int piv,temp,right,left,pivot=0;
left=low;
right=up;
piv=low;
if(low>=up)
return;
//cout<<"Sublist:\n";
display(arr,low,up);
while(pivot==0)
{
while(arr[piv]<=arr[right]&&piv!=right)
right=right-1;
if(piv==right)
pivot=1;
if(arr[piv]>arr[right])
{
temp=arr[piv];
arr[piv]=arr[right];
arr[right]=temp;
piv=right;
}
while(arr[piv]>=arr[left]&&piv!=left)
left=left+1;
if(piv==left)
pivot=1;
if(arr[piv]<arr[left])
{
temp=arr[piv];
arr[piv]=arr[left];
arr[left]=temp;
piv=left;
}
}
cout<<"\n\nPivot placed is: "<<arr[piv]<<"\n";
display(arr,low,up);
cout<<"\n";
quicksort(arr,low,piv-1);
quicksort(arr,piv+1,up);
}
void quick::display(int a[],int low,int up)
{
int i;
for(i=low;i<=up;i++)
cout<<a[i]<<"\t";
}
void main()
{
clrscr();
quick q;
q.getdata();
q.putdata();
q.sort();
getch();
}