Advertisement
saske_7

3_ quick_sort(datalab).cpp

Sep 8th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include "bits/stdc++.h"
  2. using namespace std;
  3. #define M 1000000
  4. int data[M+5];
  5. int partition(int *arr , int start , int end ){
  6.  
  7. int pivot = arr[end];
  8. int p_index = start;
  9. int i , t;
  10. for(i = start; i < end ; i++)
  11. {
  12.     if(arr[i] <= pivot)
  13.     {
  14.         t= arr[i] ;
  15.         arr[i] = arr[p_index] ;
  16.         arr[p_index] = t;
  17.         p_index++;
  18.     }
  19. }
  20.         t= arr[end] ;
  21.         arr[i] = arr[p_index] ;
  22.         arr[p_index] = t ;
  23.  
  24. return p_index;
  25. }
  26.  
  27. void quicksort(int *A ,int start , int end){
  28.  
  29. if(start < end){
  30.     int p_index = partition(A,start,end);
  31.     quicksort(A,start,p_index-1);
  32.     quicksort(A,p_index+1,end);
  33. }
  34.  
  35. }
  36.  
  37.  
  38. int main(){
  39.  //  freopen("in.txt","r",stdin);
  40.   //  freopen("out.txt","w",stdout);
  41.  
  42. int tc ,i , k;
  43.  
  44. cout<< "how many elements \n";
  45.   scanf("%d",&tc);
  46.   cout << "enter " << tc << " elements\n";
  47. for(i = 1 ; i<= tc ;i++)
  48.     scanf("%d",&data[i]);
  49.  
  50. quicksort(data,1, tc);
  51.  
  52. cout<< "Sorted list \n";
  53. for(i = 1 ; i<= tc ;i++)
  54.     printf("%d ",data[i]);
  55.  
  56. return 0;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement