Zamiana algorytmu sortowania

0

Witam !

Piszę program który pobiera z pliku informację ile znaków ma wylosować i jaki znak ma wyszukać. Następnie losuje wskazaną liczbę znaków , sortuje je i wypisuje ile było znaków które miał wyszukać.

W zasadzie już wszystko zrobiłem ,tylko ,że skorzystałem z algorytmu sortowania bąbelkowego ,a okazało się ,że do posortowania jest 300000 elementów i tym sortowaniem wykonuje to się ponad 15 min.

Czy pomoże mi ktoś zamienić sortowanie bąbelkowe na inne - szybsze przy takiej ilości znaków do posortowania ?

0

Zobacz sobie na sortowania: http://pl.wikipedia.org/wiki/Sortowanie
W Internecie bez problemu znajdziesz implementację każdego z nich w C++.

0
std::sort
0

Jest jakiś powód dla którego nie możesz użyć std::sort albo nawet qsort?

2

Dla sortowania znaków jest jedyny słuszny algorytm - przez zliczanie, złożoność O(n)

0

Dziękuję za pomoc. Zastosowałem Quicksort i teraz program wykonuje się 55 - 60 sekund ,a to już jest do zaakceptowania :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1