mituri

[C++]QuickSort

Nov 23rd, 2015
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdio.h>
  3. #include <string>
  4. #include <cstring>
  5. #include <iostream>
  6. #include <cstdlib>
  7.  
  8. using namespace std;
  9.  
  10. void pokazTablice(int* tab, int size){
  11. for(int i = 0; i < size; i++){
  12. cout << tab[i] << " ";
  13. } cout << endl;
  14. }
  15.  
  16. void sortowanieSzybkie(int *tab, int lewy, int prawy){
  17. int pivot = tab[(lewy+prawy)/2]; // 4
  18. int i = lewy, j = prawy;
  19. do{
  20. while(tab[i]<pivot) i++;
  21. while(tab[j]>pivot) j--;
  22. if(i<=j){
  23. int tmp = tab[i];
  24. tab[i] = tab[j];
  25. tab[j] = tmp;
  26. i++; j--;
  27. }
  28. }while(i<=j);
  29. if (j>lewy) sortowanieSzybkie(tab,lewy, j);
  30. if (i<prawy) sortowanieSzybkie(tab, i, prawy);
  31. }
  32.  
  33. int main(){
  34.  
  35. int size = 8;
  36. int tab[] = {3,8,6,7,4,2,5,1};
  37. pokazTablice(tab,size);
  38. sortowanieSzybkie(tab,0,size);
  39. pokazTablice(tab,size);
  40.  
  41. system ("PAUSE");
  42. }
Advertisement
Add Comment
Please, Sign In to add comment