並べ替えと逆順
CoddyのGDScriptジャーニー「基礎」セクションの一部。レッスン 76/92。
sort()は配列の要素を昇順に並べ替えます。配列自体が変更されます。
var scores := [5, 1, 9, 3]
scores.sort()
print(scores)[1, 3, 5, 9]sort()は何も返さないため、print(scores.sort())はエラーになります。先に並べ替えてから、表示してください。
文字列はアルファベット順に並べ替えられ、大文字は小文字より前に来ます。["bob", "Cleo", "ana"] は ["Cleo", "ana", "bob"] になります。
reverse() は、配列をソートせずに現在の順序を反転します。降順にソートするには、まずソートしてから反転します。
var hp := [7, 2, 9, 4]
hp.reverse()
print(hp)
hp.sort()
hp.reverse()
print(hp)[4, 9, 2, 7]
[9, 7, 4, 2]配列を別の変数に代入してもコピーは作成されません。両方の変数が同じ配列を使うため、一方をソートするともう一方もソートされます。元の順序を保つには、duplicate()で作成したコピーをソートします。
var original := [5, 3, 9]
var sorted_copy := original.duplicate()
sorted_copy.sort()
print(original, " ", sorted_copy)[5, 3, 9] [3, 5, 9]チャレンジ
簡単プログラムはカンマで区切られた整数の行を読み込み、numbersに格納します(ここまではすでに記述されています)。次の3行を出力してください。
Original:と元の順序の数値Ascending:と小さい順に並べ替えた数値Descending:と大きい順に並べ替えた数値
入力が5,3,9,1の場合、出力は次のとおりです。
Original: [5, 3, 9, 1]
Ascending: [1, 3, 5, 9]
Descending: [9, 5, 3, 1]自分で試してみよう
extends Node
func _ready():
var parts := OS.read_string_from_stdin().split(",")
var numbers: Array[int] = []
for part in parts:
numbers.append(int(part))
# 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: GDScriptオンラインコンパイラ