Advertisement
MrEfendi

Sortowanie C++ przez scalanie

Jan 4th, 2016
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. void scalaj(unsigned long int l, unsigned long int s, unsigned long int p, float *a) {
  2.     unsigned long int i, j, m, k;
  3.     float z[n + 1];
  4.     i = l;
  5.     j = s;
  6.     m = i;
  7.     do {
  8.         if (a[i] <= a[j]) {
  9.             z[m] = a[i];
  10.             i++;
  11.         }
  12.         else {
  13.             z[m] = a[j];
  14.             j++;
  15.         }
  16.         m++;
  17.     } while (i < s && j <= p);
  18.  
  19.     if (i < s) {
  20.         k = p;
  21.         for (unsigned long int j = s - 1; i <= j; j--) {
  22.             a[k] = a[j];
  23.             k--;
  24.         }
  25.     }
  26.  
  27.     for (unsigned long int i = l; i <= m - 1; i++) {
  28.         a[i] = z[i];
  29.     }
  30. }
  31.  
  32. void sort_scal(unsigned long int d, unsigned long int g, float *a) {
  33.     unsigned long int s;
  34.     if (d < g) {
  35.         s = (d + g) / 2;
  36.         sort_scal(d, s, a);
  37.         sort_scal(s + 1, g, a);
  38.         scalaj(d, s + 1, g, a);
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement