Auto AdSense

Tuesday, 18 November 2014

Data Structures Program on Quick Sort

      #include<process.h>
   #include<iostream.h>
   #include<conio.h>
   #include<stdlib.h>
   int Partition(int low,int high,int arr[]);
   void Quick_sort(int low,int high,int arr[]);
   void main()
   {
     int *a,n,low,high,i;
     clrscr();
     cout<<"Quick Sort Algorithm";<< endl
     cout<<"Enter number of elements:";
     cin>>n;
     a=new int[n];
     /* cout<<"enter the elements:";
     for(i=0;i< n;i++)
     cin>>a;*/
     for(i=0;i < n;i++)
     a[i]=rand()%100;
     clrscr();
     cout<<"Initial Order of elements";
     for(i=0;i< n;i++)
     cout<< a[i] <<" ";
       cout <<"";
     high=n-1;
     low=0;
     Quick_sort(low,high,a);
     cout <<"Final Array After Sorting:";
       for(i=0;i < n;i++)
       cout << a[i] <<" ";
     getch();
   }
   /*Function for partitioning the array*/
   int Partition(int low,int high,int arr[])
  
   {
     int i,high_vac,low_vac,pivot/*,itr*/;
     pivot=arr[low];
     while(high>low)
     {
       high_vac=arr[high];
       while(pivot< high_vac)
       {
         if(high < =low) break;
         high--;
         high_vac=arr[high];
       }
       arr[low]=high_vac;
       low_vac=arr[low];
       while(pivot > low_vac)
       {
         if(high < =low) break;
         low++;
         low_vac=arr[low];
       }
       arr[high]=low_vac;
     }
     arr[low]=pivot;
     return low;
   }
   void Quick_sort(int low,int high,int arr[])
   {
     int Piv_index,i;
     if(low < high)
     {
       Piv_index=Partition(low,high,arr);
       Quick_sort(low,Piv_index-1,arr);
       Quick_sort(Piv_index+1,high,arr);
     }
   }   

No comments:

Post a Comment