Якщо результат гравця з масиву it менше результату поточного гравця, то результат та ім'я гравця з масиву it і res присвоюємо масивам itv і resv. Якщо результат поточного гравця менше ніж черговий елемент масиву it і більше попереднього елемента масиву it, то результат поточного гравця вноситься в черговий елемент масивів itv і його ім'я присвоюється чергового елементу масиву resv, а результат поточного елемента масивів it і res додається в масиви itv і resv за результатами поточного гравця. Відповідно коли інструкція For почне порівнювати наступний елемент масиву it, то результат поточного гравця, буде менше, як поточного так і попереднього елементів масиву it, а це не задовольняє умові. Це означає, що черговий елемент масивів it і res просто додасться за останнім елементом масивів itv і resv. Так буде відбуватися поки масиви itv і resv не будуть повністю заповнені, а останній елемент масивів it і res, відповідно не увійдуть, у новостворений список кращих гравців, які описані в масивах itv і resv. У результаті ми здійснимо зрушення результатів на одну позицію. p> Для більш повного опису даної процедури розглянемо приклад:
У таблиці 3 розташовані два рядки. У верхній містяться елементи масиву it, а в нижній масиву res. p> Таблиця 3 - Масиви it і res. br/>
It
10
20
30
40
50
60
70
80
90
95
res
A
B
C
D
E
F
G
H
K
L
Припустимо, що поточний гравець, під ім'ям Z, переміг за 44 ходу.
Програма починає шукати в якому інтервалі розташований поточної результат (44). Для цього кожен елемент масиву it порівнюється зі змінною hod. Якщо перший елемент менша 44, то його ім'я і результат переноситься в масиви itv і resv, якщо наступний елемент менше 44, то і його переносять в масиви itv і resv (таблиця 4)
Таблиця 4 - Масиви it і res. br/>
Itv
10
20
resv
A
B
Так відбувається до тих пір, поки, програма не знайде елемент у масиві it, який більше 44, але при цьому програма перевіряє, що 44 більше і попереднього елемента масиву it. Якщо дана умова виконується, то програма додає результат і ім'я поточного гравця під ім'ям Z, в масиви itv і resv відповідно, а поточний результат з масивів it і res, також додається в масив, але вже за результатами гравця Z (Таблиця 5). p> Таблиця 5 - Масиви it і res. br/>
Itv
10
20
30
40
44
50
resv
A
B
C
D
Z
E
У нас вийшло, що 44 менше 50, але більше 40, з цього за результатом 40 додали 44, а за ним поточний елемент з результатом 50.
Далі, при перевірки результату 44 зі наступному елементом з результатом 60, 44 буде менше результату 60, але 44 і менше результату 50, а отже, умова не виконується і гравець з результатом 60 переносит...