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

כותרת הפעולה:
```java
public static int getSumOfStack(Stack<Integer> st)
```
(ב)כתבו פעולה המקבלת מחסנית של מספרים שלמים ומחזירה את הערך של המספר האחרון שנמצא במחסנית (את הערך הנמצא בתחתית המחסנית).

כותרת הפעולה:
```java
public static int getStackLastValue(Stack<Integer> st)
```
(ג)שרשרת מחסניות היא שרשרת חוליות מסוג Node<Stack<Integer>>. כלומר, הערך (value) של כל חוליה הוא הפניה למחסנית של מספרים שלמים.

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

לדוגמה, עבור שרשרת המחסניות שלפניכם (chain, ארבע חוליות; לכל חוליה מחסנית מהראש למטה):
- חוליה 1: `5, 1, 3, 4, 7, 2` (אורך 6, זוגי)
- חוליה 2: `5, 1, 3` (אורך 3, אי-זוגי)
- חוליה 3: `3, 1, 5, 6` (אורך 4, זוגי)
- חוליה 4: `2, 1, 4, 4, 7` (אורך 5, אי-זוגי)

הפעולה תחזיר תור חדש (מהראש לזנב): `22, 3, 15, 7`

- עבור החוליה הראשונה יתקבל סכום של איברים כי אורך המחסנית זוגי. הסכום הוא 5+1+3+4+7+2 = 22
- עבור החוליה השנייה יתקבל מספר בתחתית המחסנית (3) כי אורך המחסנית אי-זוגי.
- עבור החוליה השלישית יתקבל סכום של איברים כי אורך המחסנית זוגי. הסכום הוא 3+1+5+6 = 15
- עבור החוליה הרביעית יתקבל מספר בתחתית המחסנית (7) כי אורך המחסנית אי-זוגי.

כותרת הפעולה:
```java
public static Queue<Integer> doIt(Node<Stack<Integer>> chain)
```
(ד)מהי סיבוכיות זמן הריצה של הפעולה שכתבתם בסעיף ג'? הסבירו את תשובתכם.

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה בטיחות מוסמך עונה כאן — תקבלו מענה מקצועי

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←