joker876p8

Sortowanie kubełkowe

Jan 18th, 2021 (edited)
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // C++ program to sort an array using bucket sort
  2. #include <algorithm>
  3. #include <iostream>
  4. #include <vector>
  5. using namespace std;
  6.  
  7. void sortowanie_kubelkowe(float tab[], int n)
  8. {
  9.     // 1)  
  10.     vector<float> kub[n];
  11.  
  12.     // 2)
  13.     for (int i = 0; i < n; i++) {
  14.         int i_kub = n * tab[i];
  15.         kub[i_kub].push_back(tab[i]);
  16.     }
  17.  
  18.     // 3)
  19.     for (int i = 0; i < n; i++)
  20.         sort(kub[i].begin(), kub[i].end());
  21.  
  22.     // 4)  
  23.     int index = 0;
  24.     for (int i = 0; i < n; i++)
  25.         for (int j = 0; j < kub[i].size(); j++)
  26.             tab[index++] = kub[i][j];
  27. }
  28.  
  29. int main()
  30. {
  31.     float tab[] = { 0.257, 0.1064, 0.598, 0.9876, 0.123, 0.456, 0.789 };
  32.     int n = sizeof(tab) / sizeof(tab[0]);
  33.     sortowanie_kubelkowe(tab, n);
  34.  
  35.     cout << "Posortowana tablica: \n";
  36.     for (int i = 0; i < n; i++)
  37.         cout << tab[i] << " ";
  38.     return 0;
  39. }
  40.  
Add Comment
Please, Sign In to add comment