Friday, August 31, 2012

C Program for Quick Sort

#include<iostream.h>
#include<conio.h>
#include<alloc.h>
int *a,key,l,r,n;
void quick(int ,int );
void main()
{
 clrscr();
 int i;
 cout<<"Enter size";
 cin>>n;
 a=(int*)malloc(n*sizeof(int));
 cout<<"\nEnter elements";
 for (i=0;i<n;i++)
 cin>>a[i];
 cout<<"\nAfter quick sorting\n";
 quick(0,n-1);
 for(i=0;i<n;i++)
 cout<<" "<<a[i];
 getch();
}
void quick(int lb,int ub)
{
 int t;
 key=a[lb];
 l=lb+1;
 r=ub;
 while(l<=r)
 {
  while(key>a[l])
  l++;
  while(key<a[r])
  r--;
  if(l<=r)
  {
   t=a[l];
   a[l]=a[r];
   a[r]=t;
  // l++;
   //r--;
  }
 }
 t=a[lb];
 a[lb]=a[r];
 a[r]=t;
 cout<<endl;
 if(r>lb)
 quick(lb,r-1);
 if(l<ub)
 quick(r+1,ub);

}

No comments:

Post a Comment