מערכים מדורגים
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-Java של Coddy. שיעור 6 מתוך 59.
מערך משונן הוא סוג מיוחד של מערך דו־ממדי שבו בכל שורה יכול להיות מספר שונה של עמודות. במילים אחרות, זהו מערך של מערכים, וכל מערך "פנימי" יכול להיות באורך שונה. זה שונה ממערך דו־ממדי רגיל, שבו בכל השורות יש אותו מספר עמודות, כך שנוצרת צורה מלבנית.
מערכים משוננים שימושיים כשצריך לאחסן נתונים שאינם מתאימים בצורה מסודרת לרשת מלבנית. לדוגמה, אפשר להשתמש במערך משונן כדי לאחסן את המילים בכל משפט בפסקה, כאשר בכל משפט יש מספר שונה של מילים.
כך מצהירים על מערך משונן ומאתחלים אותו ב-Java:
data_type[][] array_name = new data_type[number_of_rows][];
// אתחלו כל שורה עם מספר שונה של עמודות
array_name[0] = new data_type[number_of_columns_in_row_0];
array_name[1] = new data_type[number_of_columns_in_row_1];
// ... וכן הלאהשימו לב שכאשר מצהירים על המערך לראשונה, מציינים רק את מספר השורות. לאחר מכן מאתחלים כל שורה בנפרד, תוך ציון מספר העמודות באותה שורה.
אתגר
קלצרו מתודה בשם createJaggedArray שמקבלת מספר שלם n כקלט ומחזירה מערך משונן של מספרים שלמים. המבנה של המערך המשונן צריך להיות כך:
- בשורה הראשונה צריך להיות איבר אחד.
- בשורה השנייה צריכים להיות 2 איברים.
- בשורה השלישית צריכים להיות 3 איברים.
- וכן הלאה, עד לשורה ה־
n, שבה צריכים להיותnאיברים.
אתחלו כל איבר במערך במכפלה של אינדקס השורה שלו באינדקס העמודה שלו (החל מ־1). לדוגמה, הערך של האיבר בשורה השנייה ובעמודה הראשונה צריך להיות 2 * 1 = 2.
נסו בעצמכם
// כתבו את הקוד שלכם רק בתוך המחלקה. אל תכתבו main() או קוד כלשהו מחוץ למחלקה זו.
class CreateJaggedArray {
public static int[][] createJaggedArray(int n) {
// כתבו כאן את הקוד שלכם
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםגישה לאיברים במערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםסיכום — מערכים דו־ממדייםחיבור וחיסור מטריצותמערכים מדורגיםמערכים תלת־ממדיים ומעבר להםתבניות נפוצות במערכים דו־ממדייםסיכום — כל מה שצריך לדעת על מערכיםתרגלו בעצמכם: קומפיילר Java אונליין