// טענת כניסה: הפעולה מקבלת רשימה של מספרים שלמים // טענת כניסה: הפעולה מחזירה את סכום כל איברי הרשימה // סיבוכיות זמן ריצה: O(n) public static int SumList(List <int> l) { int sum = 0; Node <int> pos = l.GetFirst(); while (pos != null) { sum += pos.GetInfo(); pos = pos.GetNext(); } return(sum); }
// טענת כניסה: הפעולה מקבלת רשימה ממוינת של מספרים שלמים ומספר שלם // טענת יציאה: הפעולה מכניסה באופן ממוין את המספר לרשימה // סיבוכיות זמן ריצה: O(n) public static void InsertSorted(List <int> l, int n) { Node <int> pos = l.GetFirst(); Node <int> before = null; while (pos != null && n > pos.GetInfo()) { before = pos; pos = pos.GetNext(); } l.Insert(before, n); }
/* הערות: * מחלקת עזר זו כוללת פעולות עזר על רשימה, מחסנית, תור ועץ בינארי * לכל פעולה כתובות מעליה (כהערות) טענת הכניסה, טענת היציאה וסיבוכיות זמן הריצה של הפעולה * הערה עם סימן קריאה משמעה פעולה חיצונית שקיימת במחלקת עזר זו - יש לכתוב את הפעולה החיצונית! * רוב הפעולות מקבלות טיפוס נתונים מסוג מספר שלם, אך יכולות לעבוד עם כל טיפוס אחר * © כל הזכויות שמורות לערן - Saurik * לבקשות, הערות והצעות: http://www.fxp.co.il/showthread.php?t=14343465 * בהצלחה בבחינות! */ /// /// רשימה /// //טענת כניסה: הפעולה מקבלת רשימה של מספרים שלמים ומספר שלם // טענת יציאה: הפעולה מחזירה "אמת" אם המספר נמצא ברשימה, אחרת מחזירה "שקר" // סיבוכיות זמן ריצה: O(n) public static bool IsExistList(List <int> l, int n) { Node <int> pos = l.GetFirst(); while (pos != null) { if (pos.GetInfo() == n) { return(true); } pos = pos.GetNext(); } return(false); }