static void scalaniev1(int lewy, int srodek, int prawy) { int i = lewy; int j = srodek + 1; int k = lewy; while (k <= prawy) { pom[k] = tablica[k]; k++; } int m = lewy; while (m <= prawy) { if (i <= srodek) { if (j <= prawy) { if (pom[j] < pom[i]) { tablica[m] = pom[j]; j++; } else { tablica[m] = pom[i]; i++; } } else { tablica[m] = pom[i]; i++; } } else { tablica[m] = pom[j]; j++; } m++; } } static void scalaniev2(int lewy, int prawy) { if (prawy > lewy) { int srodek = (prawy + lewy) / 2; scalaniev2(lewy, srodek); scalaniev2(srodek + 1, prawy); scalaniev1(lewy, srodek, prawy); } }