Поток цикла C ++ for примерно равен:
for ( initialize; condition; increment/decrement ) {
doSomething;
}
Как только условие оценивается как false
, выполнение прерывается из цикла.В вашем примере условие i >= 0 && ptr.points[i] > temp
означает, что вы выйдете из цикла, если значение i
станет отрицательным или ptr.points[i] <= temp
.
Таким образом, вы можете эквивалентно написать:
for(int i = xSize - 1; i >= 0; i--){
if(ptr.points[i] > temp) {
doSomething;
}
else {
break;
}
}
, что довольно легко переводится в python
как:
for i in range(xSize-1, 0, -1):
if i >= 0 and ptr.points[i] > temp:
doSomething
else:
break
(Хотя вам не нужноi >= 0
проверка)