י"ד/טבת/תשע"ה רשימה מקושרת – – Listתזכורת בנייה וסריקה אופן סריקת רשימה הגדרת חוליה והצבת עוגן הרשימה החדשה בה ;)(Node<int> p = l.GetFirst מעבר בלולאה על הרשימה ,תנאי עצירה החוליה הגיע לסוף הרשימה ()null )while (p != null { שמירת הערך בחוליה לתוך משתנה ( xוביצוע חישוב/בדיקה עליו) ;)(x = p.GetInfo קידום החוליה ;)(p = p.GetNext } רשימה -בניית רשימה -תרגילים נוספים 1 רשימה מקושרת – – Listתזכורת בנייה וסריקה אופן בניית רשימה הגדרת רשימה חדשה ;)(>List<int> l_new = new List<int הגדרת חוליה והצבת עוגן הרשימה החדשה בה ;)(Node<int> p_new = l_new.GetFirst הכנסת ערכים לרשימה החדשה בתוך לולאה הוספת ערך לרשימה (מחזירה את המיקום אחריו נוסף הערך = החוליה החדשה) תוך כדיי קידום החוליה ;)p_new = l_new.Insert(p_new, x_new רשימה -בניית רשימה -תרגילים נוספים 2 1 י"ד/טבת/תשע"ה בניית רשימה – תרגיל 1 כתבו פעולה המקבלת מערך של מספרים שלמים ,ומחזירה רשימה של מספרים שלמים מתוך המערך. ברשימה יהיו רק המספרים מהמערך הגדולים ,בערכם המוחלט ,לפחות פי שלושה ממיקומם הסידורי. פתרון )static List<int> ArrayToList(int[] arr { //מחזירה רשימה של מספרים שלמים מתוך המערך הגדולים בערכם המוחלט לפחות פי שלושה ממיקומם הסידורי ;)(>List<int> l_new = new List<int ;)(Node<int> p_new = l_new.GetFirst )for (int i = 0; i < arr.Length; i++ )if (Math.Abs(arr[i]) >= i * 3 ;)]p_new = l_new.Insert(p_new, arr[i } ;return l_new רשימה -בניית רשימה -תרגילים נוספים 3 בניית רשימה – תרגיל 2 כתבו פעולה המקבלת רשימה של מספרים שלמים ,ומחזירה רשימה של מספרים שלמים הכוללת רק את המספרים מתוך הרשימה המקורית שאינם גדולים מממוצע הערכים בה. פתרון טיוטה פעולת עזר – ממוצע הערכים ברשימה פעולה עיקרית – מעבר על ערכי הרשימה המתקבלת ,והכנסה של אלו העונים לתנאי לרשימה רשימה -בניית רשימה -תרגילים נוספים 4 2 תשע"ה/טבת/י"ד 2 בניית רשימה – תרגיל פעולת העזר static double ListAvg(List<int> l) { הנחה – הרשימה אותחלה ואינה ריקה. מחזירה את ממוצע הערכים ברשימה// int count = 0, sum = 0; Node<int> p = l.GetFirst(); while (p != null) { sum += p.GetInfo(); count++; p = p.GetNext(); } return (double)sum / count; } 5 תרגילים נוספים- בניית רשימה- רשימה 2 בניית רשימה – תרגיל הפעולה העיקרית static List<int> List2List_LessThenAvg(List<int> l){ מחזירה רשימה הכוללת את המספרים שאינם גדולים מהממוצע בלבד מתוך הרשימה// המתקבלת הרשימה אותחלה- הנחה// List<int> l_new = new List<int>(); Node<int> p_new = l_new.GetFirst(); חשוב לשמור במשתנה עזר לצורך יעילות// double avg = ListAvg(l); int x; Node<int> p = l.GetFirst(); while (p != null) { x = p.GetInfo(); if (x <= avg) p_new = l_new.Insert(p_new, x); p = p.GetNext();} return l_new;} 6 3 תרגילים נוספים- בניית רשימה- רשימה
© Copyright 2024