Menu
CoddyTech

Ordinare e invertire

Fa parte della sezione Fondamenti del percorso GDScript di Coddy. Lezione 76 di 92.

sort() dispone gli elementi di un array in ordine crescente. Modifica l'array stesso:

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

sort() non restituisce nulla, quindi print(scores.sort()) è un errore. Ordina prima, poi stampa.

Le stringhe vengono ordinate alfabeticamente e le lettere maiuscole precedono quelle minuscole: ["bob", "Cleo", "ana"] diventa ["Cleo", "ana", "bob"].

reverse() inverte l'ordine attuale dell'array, senza ordinarlo. Per ordinare in ordine decrescente, ordina prima e poi inverti:

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

Assegnare un array a un'altra variabile non lo copia: entrambe le variabili usano quindi lo stesso array e ordinandone uno si ordina anche l'altro. Per mantenere l'ordine originale, ordina una copia creata con 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

Sfida

Facile

Il programma legge una riga di numeri interi separati da virgole in numbers (già scritto). Stampa tre righe:

  1. Original: e i numeri nel loro ordine originale
  2. Ascending: e i numeri ordinati dal più piccolo al più grande
  3. Descending: e i numeri ordinati dal più grande al più piccolo

Per l'input 5,3,9,1, l'output è:

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

Provalo tu

extends Node

func _ready():
	var parts := OS.read_string_from_stdin().split(",")
	var numbers: Array[int] = []
	for part in parts:
		numbers.append(int(part))
	# Scrivi il tuo codice qui sotto
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore GDScript online