(א)נתונה הפעולה why המקבלת רשימה של מספרים שלמים:

```python
def why(arr):
temp = []
for i in range(len(arr)):
if arr[i] < 0:
temp.append(arr[i])
for i in range(len(arr)):
if arr[i] >= 0:
temp.append(arr[i])
for i in range(len(arr)):
arr[i] = temp[i]
```

1. נתונה הרשימה arr = [12, 0, -344, -46, 670, 0]
מה יהיה תוכן הרשימה אחרי זימון הפעולה why(arr)?
2. מה מבצעת הפעולה why באופן כללי?
(ב)נתונה הפעולה what המקבלת רשימה מספרים שלמים:

```python
def what(arr):
start = 0
end = -1
while start - end < len(arr):
if arr[start] < 0:
start = start + 1
elif arr[end] >= 0:
end = end -1
else:
temp = arr[end]
arr[end] = arr[start]
arr[start] = temp
```

1. נתונה רשימה arr = [123, -45, -678, 12, -345, 67]
מה יהיה תוכן ההרשימה אחרי זימון הפעולה what(arr)?
2. תנו דוגמה לרשימה brr בגודל של חמישה תאים, כך שהתוכן של הרשימה לא ישתנה אחרי ביצוע הפעולה what(brr)
3. מה מבצעת הפעולה what באופן כללי?
(ג)האם קיימת רשימה crr בגודל של שישה תאים, שעבורה שני זימונים why (crr) ו-what (crr) יביאו לאותן תוצאות? אם כן – תנו דוגמה של הרשימה crr, ולא – הסבר למה.
(ד)מה הן סיבוכיות זמן הריצה של הפעולות what ו-why?

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

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

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

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

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

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

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