Menu
CoddyTech

Ordenar e invertir

Parte de la sección Fundamentos del Journey de GDScript de Coddy. Lección 76 de 92.

sort() coloca los elementos de un array en orden ascendente. Cambia el propio array:

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

sort() no devuelve nada, así que print(scores.sort()) es un error. Primero ordena y después imprime.

Las cadenas se ordenan alfabéticamente, y las letras mayúsculas van antes que las minúsculas: ["bob", "Cleo", "ana"] se convierte en ["Cleo", "ana", "bob"].

reverse() invierte el orden actual del array, sin ordenarlo. Para ordenar en orden descendente, ordénalo primero y después inviértelo:

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

Asignar un array a otra variable no lo copia: ambas variables usan después el mismo array, y ordenar uno ordena el otro. Para conservar el orden original, ordena una copia creada 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

Desafío

Fácil

El programa lee una línea de números enteros separados por comas en numbers (ya escrito). Imprime tres líneas:

  1. Original: y los números en su orden original
  2. Ascending: y los números ordenados de menor a mayor
  3. Descending: y los números ordenados de mayor a menor

Para la entrada 5,3,9,1, la salida es:

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

Pruébalo tú mismo

extends Node

func _ready():
	var parts := OS.read_string_from_stdin().split(",")
	var numbers: Array[int] = []
	for part in parts:
		numbers.append(int(part))
	# Escribe tu código a continuación
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de GDScript online