* 1. Napisz program sprawdzający, czy lista 10 liczb jest uporządkowana. Program powinien najpierw wczytać liczby na listę.
* 2. Napisz program, który po wczytaniu 10 liczb dodatnich całkowitych znajdzie wśród nich parę liczb o największej różnicy.
a. bez sortowania danych,
b) po posortowaniu danych
* 3. Napisz program, który będzie porządkować malejąco listę 10 różnych liczb metodą:
a. bąbelkową
b. przez wstawianie.
* 4. Przygotuj krótką prezentację na temat systemu "każdy z każdym", stosowanego w wielu dyscyplinach sportu. W prezentacji przestaw zasady tworzenia par turniejowych dla kolejnych rund na przykładzie 8 zawodników (lub drużyn).
* 5. Przygotuj krótkie wystąpienie o historii powstania książki Skafander i motyl. Wyjaśnij, dlaczego jej autor posługiwał się w komunikacji ze światem alfabetem o zmienionym porządku liter:
E S A R I N T U L O M D P C F B V H G J Q Z Y X K W.
** 6. Poszukaj informacji o algorytmie sortowania przez wybór. Napisz program, który będzie sortować liczby całkowite tą metodą.
** 7. Dodaj do programu Sortowanie bąbelkowe kod zliczający liczbę wykonanych prostych zmian. Podaj liczbę operacji zmian potrzebnych do uporządkowania zbioru:
a. 10-elementowego,
b. 20-elementowego,
c. 100-elementowego.
Dane do posortowania otrzymasz od nauczyciela w pliku tekstowym (np. o nazwie posortuj_liczby.txt).
** 8. Napisz program, który na liście zawierającej liczby nieujemne przesuwa na koniec listy wszystkie elementy o wartości 0. Porządek pozostałych elementów listy powinien zostać zachowany. Program nie powinien używać dodatkowej listy podczas przetwarzania danych.
** 9. Napisz program, który zamieni miejscami elementy znajdujące się w pierwszej i drugiej połowie listy o parzystej liczbie elementów.
Dane wejściowe: 3 1 4 5 | 2 8 0 3
Dane wyjściowe: 2 8 0 3 | 3 1 4 5
Program nie powinien używać listy pomocniczej.
** 10. Analizując sortowanie bąbelkowe zbioru [6, 2, 5, 4, 1], można zauważyć, że wartość 6 pojawi się na właściwym miejscu po stosunkowo niewielkiej liczbie operacji, a przeniesienie wartości 1 wymaga o wiele większej liczby operacji. Mówi się, że element o wartości 1 jest w tej sytuacji żółwiem, a element o wartości 6 - zającem.
Jak zmodyfikować algorytm, aby zaradzić tej asymetrii? Przedstaw ulepszoną wersję algorytmu, nazywaną czasem sortowaniem koktajlowym (ang. shake sort).
** 11. Poszukaj informacji o algorytmie sortowania bibliotecznego (ang. library sort), ktróy został opublikowany w 2006 r. Przygotuj prezentację na temat tego algorytmu. Wyjaśnij pochodzenie jego nazwy.
** 12. Napisz program, który będzie porządkował wyrazy według ich długości. Wyrazy o tej samej długości należy ustawić w kolejności alfabetycznej.
*** 13. Napisz program sortujący metodą przez wstawianie z użyciem wartownika.
Wskazówka: Wartownika umieść jako dodatkowy element w pierwszej komórce listy zawierającej liczby do posortowania.
*** 14. W książce Kalejdoskop matematyczny Hugo Steinhaus opisał algorytm sortowania przez wstawianie z wyszukiwaniem binarnym. Przygotuj prezentację na temat tego algorytmu i wykorzystania w nim wagi szalkowej. Jakie znaczenie dla tego algorytmu ma ciąg 0, 1, 3, 5, 8, 11, 14, 17, 21, ...?
Wskazówka: Wartownika umieść jako dodatkowy element w pierwszej komórce listy zawierającej liczby do posortowania.
*** 15. Napisz program który po wczytaniu 20 liczb dodatnich całkowitych znajdzie wśród nich parę liczb o najmniejszej różnicy.