Sortowanie i odwracanie
Część sekcji Podstawy ścieżki GDScript w Coddy. Lekcja 76 z 92.
sort() umieszcza elementy tablicy w kolejności rosnącej. Zmienia samą tablicę:
var scores := [5, 1, 9, 3]
scores.sort()
print(scores)[1, 3, 5, 9]sort() nic nie zwraca, więc print(scores.sort()) jest błędem. Najpierw posortuj, a potem wyświetl.
Ciągi znaków są sortowane alfabetycznie, a wielkie litery występują przed małymi: ["bob", "Cleo", "ana"] staje się ["Cleo", "ana", "bob"].
reverse() odwraca aktualną kolejność elementów tablicy, nie sortując jej. Aby posortować elementy w kolejności malejącej, najpierw posortuj tablicę, a następnie ją odwróć:
var hp := [7, 2, 9, 4]
hp.reverse()
print(hp)
hp.sort()
hp.reverse()
print(hp)[4, 9, 2, 7]
[9, 7, 4, 2]Przypisanie tablicy do innej zmiennej nie tworzy jej kopii: obie zmienne korzystają wtedy z tej samej tablicy, a posortowanie jednej z nich sortuje również drugą. Aby zachować pierwotną kolejność, posortuj kopię utworzoną za pomocą duplicate():
var original := [5, 3, 9]
var sorted_copy := original.duplicate()
sorted_copy.sort()
print(original, " ", sorted_copy)[5, 3, 9] [3, 5, 9]Wyzwanie
ŁatwyProgram odczytuje wiersz liczb całkowitych oddzielonych przecinkami do zmiennej numbers (jest już zapisany). Wypisz trzy wiersze:
Original:i liczby w ich pierwotnej kolejnościAscending:i liczby posortowane od najmniejszej do największejDescending:i liczby posortowane od największej do najmniejszej
Dla danych wejściowych 5,3,9,1 wynik to:
Original: [5, 3, 9, 1]
Ascending: [1, 3, 5, 9]
Descending: [9, 5, 3, 1]Spróbuj swoich sił
extends Node
func _ready():
var parts := OS.read_string_from_stdin().split(",")
var numbers: Array[int] = []
for part in parts:
numbers.append(int(part))
# Napisz swój kod poniżej
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory, część 1
Operatory arytmetyczneDzielenie całkowiteOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania7Podstawowe wejście/wyjście
WyjścieWyjście ze zmiennymiFormatowanie ciągów znakówWejścieRzutowanie typówPowtórka — do 120Powtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiArgumentyZwracanie wartościTypy zwracanych wartościPowtórka — funkcja sigmaPowtórka — funkcja walidującaWartości domyślne5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operator warunkowy8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych14Zaawansowane tablice
Wycinanie fragmentów tablicyOperatory sekwencjiPrzynależnośćSortowanie i odwracanie3Zmienne, część 2
Deklarowanie typówWnioskowanie o typachStałePowtórka — inicjalizacja zmiennychKonwersja typów6Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka – prosty kalkulatorZagnieżdżone if - elseInstrukcja match9Pętle
Pętla forPętla whilePrzerwijKontynuujPowtórka — silniaFunkcja rangePętla zagnieżdżonaPowtórka — dane wejściowe dynamicznePoćwicz samodzielnie: Kompilator GDScript online