Zmodyfikowany quicksort, wyniki później
This commit is contained in:
@@ -227,6 +227,31 @@ void sortowanie_szybkie(int* tablica, int rozmiar){
|
|||||||
qs(tablica, 0, rozmiar-1);
|
qs(tablica, 0, rozmiar-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void qs_mod(int* tab, int d, int g){
|
||||||
|
if (d<g) {
|
||||||
|
if (g-d<20) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
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_mod(tab, d, s-1);
|
||||||
|
qs_mod(tab, s+1, g);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void sortowanie_szybkie_mod(int* tablica, int rozmiar){
|
||||||
|
qs_mod(tablica, 0, rozmiar-1);
|
||||||
|
sortowanie_wstawianie(tablica, rozmiar);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
setlocale(LC_ALL, "");
|
setlocale(LC_ALL, "");
|
||||||
@@ -235,7 +260,8 @@ int main()
|
|||||||
//std::ostream& output = wyniki;//std::cerr; // Wypisanie do pliku (zamiast na ekran)
|
//std::ostream& output = wyniki;//std::cerr; // Wypisanie do pliku (zamiast na ekran)
|
||||||
std::ostream& output = std::cerr; // Wypisanie 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(sortowanie_szybkie, "Sortowanie szybkie", output);
|
||||||
|
eksperyment(sortowanie_szybkie_mod, "Sortowanie szybkie z modyfikacją", output);
|
||||||
// eksperyment(ulepszone_sortowanie_babelkowe, "Ulepszone sortowanie bąbelkowe", output);
|
// eksperyment(ulepszone_sortowanie_babelkowe, "Ulepszone sortowanie bąbelkowe", output);
|
||||||
// eksperyment(sortowanie_babelkowe, "Sortowanie bąbelkowe", output);
|
// eksperyment(sortowanie_babelkowe, "Sortowanie bąbelkowe", output);
|
||||||
// eksperyment(sortowanie_wstawianie, "Sortowanie przez proste wstawianie", output);
|
// eksperyment(sortowanie_wstawianie, "Sortowanie przez proste wstawianie", output);
|
||||||
|
|||||||
Reference in New Issue
Block a user