Menu
CoddyTech

並べ替えと逆順

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]
challenge icon

チャレンジ

簡単

プログラムはカンマで区切られた整数の行を読み込み、numbersに格納します(ここまではすでに記述されています)。次の3行を出力してください。

  1. Original: と元の順序の数値
  2. Ascending: と小さい順に並べ替えた数値
  3. 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))
	# 以下にコードを書いてください
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ