排序与反转
本课属于 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(已写好)。打印三行:
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 在线编译器