Advertisement
Guest User

Untitled

a guest
Jun 27th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #include <iostream>
  2. #include <time.h>
  3.  
  4. using namespace std;
  5.  
  6. void show(int* tab, int n) {
  7. for (int i = 0; i < n; i++) cout << tab[i] << " ";
  8. cout << '\n';
  9. }
  10.  
  11. void swap(int* T, int a, int b) {
  12. int tmp = T[a];
  13. T[a] = T[b];
  14. T[b] = tmp;
  15. }
  16.  
  17. int podzielTablice(int* T, int l, int r) {
  18. int pivotValue = T[l];
  19.  
  20. int poz = l + 1;
  21.  
  22. for (int i = l + 1; i <= r; i++) {
  23. if (T[i] < pivotValue) {
  24. swap(T, poz, i);
  25. poz++;
  26. }
  27. }
  28.  
  29. swap(T, l, poz - 1);
  30.  
  31. return poz - 1;
  32. }
  33.  
  34. void quickSort(int* T, int l, int r) {
  35. if (l < r)
  36. {
  37. int i = podzielTablice(T, l, r);
  38. quickSort(T, l, i-1);
  39. quickSort(T, i + 1, r);
  40. }
  41. }
  42.  
  43. int main(int argc, char** argv) {
  44. srand(time(NULL));
  45.  
  46. int *T = new int[12];
  47. T[0] = 13;
  48. T[1] = 12;
  49. T[2] = 11;
  50. T[3] = 9;
  51. T[4] = 8;
  52. T[5] = 7;
  53. T[6] = 6;
  54. T[7] = 5;
  55. T[8] = 4;
  56. T[9] = 3;
  57. T[10] = 2;
  58. T[11] = 1;
  59. //for (int i = 0; i < 12; i++) T[i] = rand() % 10;
  60.  
  61. show(T, 12);
  62.  
  63. quickSort(T, 0, 11);
  64. //podzielTablice(T, 0, 11);
  65.  
  66. show(T, 12);
  67.  
  68. system("pause");
  69. return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement