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

ספירת חוליות בשרשרת

קל C#

המשימה

כתוב פעולה שמקבלת מצביע לחוליה הראשונה בשרשרת ומחזירה כמה חוליות יש בה.

דוגמאות:
  1 → 7 → 4 → null   →  3
  null                →  0

הנחיות:
• עבור על השרשרת עם משתנה עזר מסוג Node, והתקדם עם getNext עד null.
• אל תשנה את השרשרת.
• שים לב: הפעולה מקבלת Node ולא List — זו הצורה שבה השאלות מנוסחות בבגרות.

המחלקה Node כבר מצורפת למשימה.

[רשימה מקושרת]

קוד הפתיחה

using System;

class Program {

    /** מחזירה כמה חוליות יש בשרשרת שמתחילה ב-head. */
    static int Count(Node<int> head) {
        // כתוב את הפתרון כאן
        return 0;
    }

    // ── עזר, לא חלק מהמשימה ──────────────────────────────────────────
    static Node<int> Build(int[] values) {
        Node<int> head = null;
        for (int i = values.Length - 1; i >= 0; i--)
            head = new Node<int>(values[i], head);
        return head;
    }

    static void Print(Node<int> head) {
        Node<int> pos = head;
        while (pos != null) {
            Console.Write(pos.GetInfo() + " -> ");
            pos = pos.GetNext();
        }
        Console.WriteLine("null");
    }

    static void Main() {
        Node<int> head = Build(new int[]{1, 7, 4});
        Print(head);                       // 1 -> 7 -> 4 -> null

        Console.WriteLine(Count(head));    // 3
        Console.WriteLine(Count(null));    // 0
    }
}

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

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