תרגול מדעי המחשב

מיזוג שני מערכים ממוינים

מאתגר Java

המשימה

נתונים שני מערכים ממוינים בסדר עולה.

כתוב פעולה שמחזירה מערך חדש שמכיל את כל האיברים של שניהם, ממוין
בסדר עולה.

דוגמה:
  [1, 4, 9] ו-[2, 3, 10]  →  [1, 2, 3, 4, 9, 10]

הנחיות:
• אסור לשרשר את שני המערכים ולמיין. הפתרון חייב לנצל את העובדה
  ששניהם כבר ממוינים, ולעבור על כל אחד מהם פעם אחת בלבד.
• החזק שני מדדים, אחד לכל מערך. בכל צעד קח את הקטן מבין שני
  האיברים הנוכחיים וקדם רק את המדד שממנו לקחת.
• כשאחד המערכים נגמר — העתק את שארית השני. אל תשכח את השלב הזה.
• מערך יכול להיות ריק.

```ds:array
{"title":"מערך א","items":["1","4","9"]}
```

```ds:array
{"title":"מערך ב","items":["2","3","10"]}
```

```ds:array
{"title":"התוצאה","items":["1","2","3","4","9","10"]}
```

קוד הפתיחה

public class Main {

    public static int[] merge(int[] a, int[] b) {
        // כתוב את הפתרון כאן — מעבר אחד על כל מערך
        return new int[0];
    }

    public static void print(int[] arr) {
        String line = "";
        for (int i = 0; i < arr.length; i++) line = line + arr[i] + " ";
        System.out.println(line.trim());
    }

    public static void main(String[] args) {
        print(merge(new int[]{1, 4, 9}, new int[]{2, 3, 10}));   // 1 2 3 4 9 10
        print(merge(new int[]{}, new int[]{5, 6}));              // 5 6
        print(merge(new int[]{1, 2}, new int[]{}));              // 1 2
        print(merge(new int[]{2, 2}, new int[]{2}));             // 2 2 2
    }
}

כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.

התרגיל הבא חיפוש סדרתי
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון — כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות בדיקה חיצוני.