מעקב ויזואלי אחר ריצת
Secret(arr)
על גבי מערך הקלט בגודל 9 איברים.
public static int Secret(int[] arr) {
return Secret(arr, 0, arr.Length - 1);
}
private static int Secret(int[] arr, int left, int right) {
if (left == right)
return arr[left];
if (What(arr[left]) < What(arr[right]))
return Secret(arr, left + 1, right);
return Secret(arr, left, right - 1);
}
| אינדקס | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
|---|---|---|---|---|---|---|---|---|---|
| איבר | 777922 | 111 | 623 | 221333 | 10000 | 22133 | 211 | 1001 | 99790 |
| What(X) | 3 | 3 | 1 | 3 | 4 | 2 | 2 | 2 | 2 |
הקריאה הציבורית Secret(arr) מאתחלת את הריצה ומעבירה את השליטה לקריאה הרקורסיבית הדו-מצביעת: Secret(arr, 0, 8) – גבולות המערך המלאים.