Sortowanie przez zliczanie jest zbliżone do algorytmu kubełkowego. W materiale filmowym przedstawimy uproszczoną wersję sortowania przez zliczanie. Algorytm posortuje zbiór dane, w którym zostały zapisane liczby naturalne. W sekcji „Przeczytaj” rozszerzymy działanie algorytmu przedstawionego w filmie o możliwość sortowania liczb całkowitych.

Polecenie 1

Zapoznaj się z filmem przedstawiającym algorytm sortowania tablicy metodą przez zliczanie oraz jego realizację w języku C++.

R1Ct9QAqCukf8
Lekcja poświęcona sortowaniu przez zliczanie w języku C++.

Kod programu zaprezentowanego w filmie:

R131T07VO7kuW

Przycisk do pobrania pliku CCP z kodem źródłowym z filmu.

Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.
Plik CPP o rozmiarze 940.00 B w języku polskim
1
Problem 1

Napisz program w języku C++ sortujący liczby ze zbioru dane metodą sortowania przez zliczanie (couting sort), a następnie wypisujący te elementy. Sortowanie powinno być niemalejące.

Działanie programu przetestuj dla następującego zbioru: {1, 4, 3, 2, 2, 1}.

Specyfikacja:

Dane:

  • dane[] – tablica liczb naturalnych

  • liczbaElementow – liczba naturalna; liczba elementów umieszczonych w tablicy dane

Wynik:

  • dane[] – tablica liczb naturalnych posortowana niemalejąco

RrAidKHwZ6qAy
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
Linia 1. kratka otwórz nawias ostrokątny span class znak równości apostrof foreign apostrof lang znak równości apostrof en apostrof zamknij nawias ostrokątny include otwórz nawias ostrokątny prawy ukośnik span zamknij nawias ostrokątny otwórz nawias ostrokątny otwórz nawias ostrokątny span class znak równości apostrof foreign apostrof lang znak równości apostrof en apostrof zamknij nawias ostrokątny iostream otwórz nawias ostrokątny prawy ukośnik span zamknij nawias ostrokątny zamknij nawias ostrokątny. Linia 3. otwórz nawias ostrokątny span class znak równości apostrof foreign apostrof lang znak równości apostrof en apostrof zamknij nawias ostrokątny using namespace std otwórz nawias ostrokątny prawy ukośnik span zamknij nawias ostrokątny średnik. Linia 5. int dane otwórz nawias kwadratowy zamknij nawias kwadratowy znak równości otwórz nawias klamrowy 1 przecinek 4 przecinek 3 przecinek 2 przecinek 2 przecinek 1 zamknij nawias klamrowy średnik. Linia 6. int liczbaElementow znak równości 6 średnik. Linia 8. int otwórz nawias ostrokątny span class znak równości apostrof foreign apostrof lang znak równości apostrof en apostrof zamknij nawias ostrokątny main otwórz nawias ostrokątny prawy ukośnik span zamknij nawias ostrokątny otwórz nawias okrągły zamknij nawias okrągły. Linia 9. otwórz nawias klamrowy. Linia 10. prawy ukośnik prawy ukośnik Tutaj swój dodaj kod kropka. Linia 11. zamknij nawias klamrowy.
Polecenie 2

Porównaj swoje rozwiązanie z przedstawionym w filmie.