Menu
CoddyTech

Trier et inverser

Fait partie de la section Fondamentaux du Journey GDScript de Coddy. Leçon 76 sur 92.

sort() place les éléments d’un tableau dans l’ordre croissant. Elle modifie le tableau lui-même :

var scores := [5, 1, 9, 3]
scores.sort()
print(scores)
[1, 3, 5, 9]

sort() ne renvoie rien, donc print(scores.sort()) est une erreur. Trie d’abord, puis affiche.

Les chaînes sont triées par ordre alphabétique, et les lettres majuscules viennent avant les minuscules : ["bob", "Cleo", "ana"] devient ["Cleo", "ana", "bob"].

reverse() inverse l’ordre actuel du tableau, sans le trier. Pour effectuer un tri par ordre décroissant, trie d’abord le tableau, puis inverse-le :

var hp := [7, 2, 9, 4]
hp.reverse()
print(hp)
hp.sort()
hp.reverse()
print(hp)
[4, 9, 2, 7]
[9, 7, 4, 2]

Affecter un tableau à une autre variable ne le copie pas : les deux variables utilisent alors le même tableau, et trier l’un trie l’autre. Pour conserver l’ordre d’origine, triez une copie créée avec 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

Défi

Facile

Le programme lit une ligne de nombres entiers séparés par des virgules dans numbers (déjà écrit). Affiche trois lignes :

  1. Original: et les nombres dans leur ordre d’origine
  2. Ascending: et les nombres triés du plus petit au plus grand
  3. Descending: et les nombres triés du plus grand au plus petit

Pour l’entrée 5,3,9,1, la sortie est :

Original: [5, 3, 9, 1]
Ascending: [1, 3, 5, 9]
Descending: [9, 5, 3, 1]

Essayez vous-même

extends Node

func _ready():
	var parts := OS.read_string_from_stdin().split(",")
	var numbers: Array[int] = []
	for part in parts:
		numbers.append(int(part))
	# Écrivez votre code ci-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur GDScript en ligne