סעיף א
נתונה הפעולה Why המקבלת מערך של מספרים שלמים:
public static void Why (int[] arr){
int[] temp = new int[arr.Length];
int k = 0;
for (int i = 0; i < arr.Length; i++)
if (arr[i] < 0)
temp[k++] = arr[i];
for (int i = 0; i < arr.Length; i++)
if (arr[i] >= 0)
temp[k++] = arr[i];
for (int i = 0; i < arr.Length; i++)
arr[i] = temp[i];
}
- נתון מערך
int[] arr = {12, 0, -344, -46, 670, 0};. מה יהיה תוכן המערך אחרי זימון הפעולה Why(arr)? - מה מבצעת הפעולה Why באופן כללי?
סעיף ב
נתונה הפעולה What המקבלת מערך מספרים שלמים:
public static void What (int[] arr){
int start = 0;
int end = arr.Length - 1;
while (start < end)
{
if (arr[start] > 0)
start ++;
else if (arr[end] >= 0)
end --;
else
{
int temp = arr[end];
arr[end] = arr[start];
arr[start] = temp;
}
}
}
- נתון מערך
int[] arr = {123, -45, -678, 12, -345, 67};. מה יהיה תוכן המערך אחרי זימון הפעולה What(arr)? - תנו דוגמה למערך brr בגודל של חמישה תאים, כך התוכן של המערך לא ישתנה אחרי ביצוע הפעולה what(brr).
- מה מבצעת הפעולה What באופן כללי?
סעיף ג
האם קיים מערך crr בגודל של שישה תאים, שעבורו שני זימונים Why(crr) ו-What(crr) יביאו לאותן תוצאות? אם כן – תנו דוגמה של המערך crr, אם לא – הסבר למה.
סעיף ד
מה הן סיבוכיות זמן הריצה של הפעולות What ו-Why?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.