Zapisz algorytm sortowania pozycyjnego słów w kolejności rosnącej, wykorzystujący algorytm sortowania bąbelkowego dla danych pozycji. Jeśli chcesz powtórzyć wiadomości ze szkoły podstawowej, zrób to za pomocą schematu blokowego. W przeciwnym razie wykorzystaj wybrany język programowania.
Zapisz algorytm sortowania pozycyjnego słów w kolejności rosnącej, wykorzystujący algorytm sortowania bąbelkowego dla danych pozycji.
Przetestuj działanie programu dla następującego zbioru słów:
n – liczba naturalna; długość słów ze zbioru lista
Wynik:
Na standardowym wyjściu wyświetlane są wszystkie elementy tablicy lista posortowane rosnąco.
RIQ2mj1yZmYSz
RJoRkZcXTYlNL
R151q0T8JJddx1
1
RgBL9sNqqWTRA1
Linia 1. lista znak równości None.
Linia 2. i znak równości None.
Linia 3. dlugoscListy znak równości None.
Linia 4. m znak równości None.
Linia 5. j znak równości None.
Linia 6. pomocnicza znak równości None.
Linia 8. def upRange otwórz nawias okrągły start przecinek stop przecinek step zamknij nawias okrągły dwukropek.
Linia 9. while start otwórz nawias ostrokątny znak równości stop dwukropek.
Linia 10. yield start.
Linia 11. start plus znak równości abs otwórz nawias okrągły step zamknij nawias okrągły.
Linia 13. def downRange otwórz nawias okrągły start przecinek stop przecinek step zamknij nawias okrągły dwukropek.
Linia 14. while start zamknij nawias ostrokątny znak równości stop dwukropek.
Linia 15. yield start.
Linia 16. start minus znak równości abs otwórz nawias okrągły step zamknij nawias okrągły.
Linia 19. lista znak równości otwórz nawias kwadratowy apostrof BABA apostrof przecinek apostrof SOFA apostrof przecinek apostrof ABBA apostrof przecinek apostrof COFA apostrof przecinek apostrof CYKA apostrof przecinek apostrof BOBO apostrof zamknij nawias kwadratowy.
Linia 20. for i in range otwórz nawias okrągły 4 przecinek 0 przecinek minus 1 zamknij nawias okrągły dwukropek.
Linia 21. dlugoscListy znak równości len otwórz nawias okrągły lista zamknij nawias okrągły.
Linia 22. while dlugoscListy zamknij nawias ostrokątny 1 dwukropek.
Linia 23. j podkreślnik end znak równości float otwórz nawias okrągły dlugoscListy minus 1 zamknij nawias okrągły.
Linia 24. for j in otwórz nawias okrągły 1 otwórz nawias ostrokątny znak równości j podkreślnik end zamknij nawias okrągły and upRange otwórz nawias okrągły 1 przecinek j podkreślnik end przecinek 1 zamknij nawias okrągły or downRange otwórz nawias okrągły 1 przecinek j podkreślnik end przecinek 1 zamknij nawias okrągły dwukropek.
Linia 25. if lista otwórz nawias kwadratowy int otwórz nawias okrągły j minus 1 zamknij nawias okrągły zamknij nawias kwadratowy otwórz nawias kwadratowy int otwórz nawias okrągły i minus 1 zamknij nawias okrągły zamknij nawias kwadratowy zamknij nawias ostrokątny lista otwórz nawias kwadratowy int otwórz nawias okrągły otwórz nawias okrągły j plus 1 zamknij nawias okrągły minus 1 zamknij nawias okrągły zamknij nawias kwadratowy otwórz nawias kwadratowy int otwórz nawias okrągły i minus 1 zamknij nawias okrągły zamknij nawias kwadratowy dwukropek.
Linia 26. pomocnicza znak równości lista otwórz nawias kwadratowy int otwórz nawias okrągły j minus 1 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 27. lista otwórz nawias kwadratowy int otwórz nawias okrągły j minus 1 zamknij nawias okrągły zamknij nawias kwadratowy znak równości lista otwórz nawias kwadratowy int otwórz nawias okrągły otwórz nawias okrągły j plus 1 zamknij nawias okrągły minus 1 zamknij nawias okrągły zamknij nawias kwadratowy.
Linia 28. lista otwórz nawias kwadratowy int otwórz nawias okrągły otwórz nawias okrągły j plus 1 zamknij nawias okrągły minus 1 zamknij nawias okrągły zamknij nawias kwadratowy znak równości pomocnicza.
Linia 29. dlugoscListy znak równości dlugoscListy minus 1.
Linia 30. dlugoscListy znak równości len otwórz nawias okrągły lista zamknij nawias okrągły.
Linia 31. for m in otwórz nawias okrągły 1 otwórz nawias ostrokątny znak równości float otwórz nawias okrągły dlugoscListy zamknij nawias okrągły zamknij nawias okrągły and upRange otwórz nawias okrągły 1 przecinek float otwórz nawias okrągły dlugoscListy zamknij nawias okrągły przecinek 1 zamknij nawias okrągły or downRange otwórz nawias okrągły 1 przecinek float otwórz nawias okrągły dlugoscListy zamknij nawias okrągły przecinek 1 zamknij nawias okrągły dwukropek.
Linia 32. print otwórz nawias okrągły lista otwórz nawias kwadratowy int otwórz nawias okrągły m minus 1 zamknij nawias okrągły zamknij nawias kwadratowy zamknij nawias okrągły.
Polecenie 2
Dodaj do swojego programu komentarze tak, żeby był zrozumiały dla osoby, która nie potrafi programować.