Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. void wyswietl(int t[], int p, int k)
  7. {
  8.     for (int i = p;i <= k;i++) cout << " " << t[i];
  9.     cout << endl;
  10. }
  11.  
  12. void sort_szybkie(int t[], int p, int k)
  13. {
  14.     int i, j, wtemp, pivot;
  15.     i = p; j = k;
  16.     //pivot = t[i];
  17.     //pivot = t[(p + k) / 2];
  18.     //pivot = rand() % (p - k); error!!!!!!!!!!!!!!!!!
  19.     cout << "pivot = " << pivot;
  20.     while (i <= j)
  21.     {
  22.         while (t[i]<pivot) i++;
  23.         while (t[j]>pivot) j--;
  24.         if (i <= j)
  25.         {
  26.             wtemp = t[i];t[i] = t[j];t[j] = wtemp;
  27.             i++; j--;
  28.         }
  29.     }
  30.     cout << ", i=" << i << " j=" << j << endl;
  31.     cout << "tab z poprzerzucanymi elementami:\n";  
  32.     wyswietl(t, p, k);
  33.     cout << " podzial na podtablice: " << p << " - " << i - 1 << ", " << i << " - " << k << endl;
  34.     if (p < j)
  35.     {
  36.         cout << "\nsort. lew. pol, el." << p << " - " << j << ":";
  37.         wyswietl(t, p, j);
  38.         sort_szybkie(t, p, j);
  39.     }
  40.     if (i < k)
  41.     {
  42.         cout << "sort. pr. pol., el." << i << " - " << k << ":";
  43.         wyswietl(t, i, k);
  44.         sort_szybkie(t, i, k);
  45.     }
  46.     {
  47.         cout << " akt.stan podtab. " << p << " - " << k << ":";
  48.         wyswietl(t, p, k);
  49.     }
  50.  
  51.     if (p<j) sort_szybkie(t, p, j); //sortowanie lewej podtablicy
  52.     if (i<k) sort_szybkie(t, i, k); //sortowanie prawej podtablicy
  53. }
  54.  
  55.  
  56.  
  57. int main()
  58. {
  59.     int tab1[] = { 44,32,74,51,46,71,49,73,86,34 };
  60.     int tab2[] = { 1,2,3,4,5,6,7,8,9,10 };
  61.     int tab3[] = { 10,9,8,7,6,5,4,3,2,1 };
  62.  
  63.     //sort_szybkie(tab1,4,9);
  64.     //sort_szybkie(tab2,0,9);
  65.     sort_szybkie(tab3, 0, 9);
  66.  
  67.     system("pause");
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement