Implementacja Quicksortu

This commit is contained in:
2023-03-15 15:09:21 +01:00
parent 310baf0dc3
commit bef43d8cd4

View File

@@ -206,6 +206,27 @@ void sortowanie_shella(int* tablica, int rozmiar)
}
}
void qs(int* tab, int d, int g){
if (d<g) {
int t = tab[d];
int s = d;
for (int i = d+1; i <= g; i++) {
if (tab[i]<t) {
s=s+1;
swap(tab[s],tab[i]);
}
}
swap(tab[d],tab[s]);
qs(tab, d, s-1);
qs(tab, s+1, g);
}
}
void sortowanie_szybkie(int* tablica, int rozmiar){
qs(tablica, 0, rozmiar-1);
}
int main()
{
setlocale(LC_ALL, "");
@@ -213,7 +234,8 @@ int main()
//std::ostream& output = wyniki;//std::cerr; // Wypisanie do pliku (zamiast na ekran)
std::ostream& output = std::cerr; // Wypisanie na ekran
eksperyment(sortowanie_shella, "Sortowanie shella", output);
//eksperyment(sortowanie_shella, "Sortowanie shella", output);
eksperyment(sortowanie_szybkie, "Sortowanie szybkie", output);
// eksperyment(ulepszone_sortowanie_babelkowe, "Ulepszone sortowanie bąbelkowe", output);
// eksperyment(sortowanie_babelkowe, "Sortowanie bąbelkowe", output);
// eksperyment(sortowanie_wstawianie, "Sortowanie przez proste wstawianie", output);