Menu
CoddyTech

מיון והיפוך

חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 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 (כבר נכתב). הדפיסו שלוש שורות:

  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 אונליין