Я хочу, чтобы обе петли останавливались, как только я нахожу объект, который имеет ту же позицию в x.Как остановить вложенный цикл for
Вот мой C++ код:
for(int i = 0; i < sizeArray; ++i){
for(int j = i; j > 0; --j){
if (s[i].positionX == s[j-1].positionX){
s[i].positionY = s[j-1].positionY;
}
}
}
Если я использую break;
он ломает только из внутренней цикл. Каков наилучший способ остановить оба?
Опции:
- Установить индексы петель до величины максимального (или минимального значения), чтобы завершить петлю.
- Поместите все это внутри функции и используйте возврат.
- Используйте Гото
- Используйте Lambda
- Установите булево стоп-код к подлинному, перерыв, а затем слушать перерыв и выйти из другого цикла?
- ?
будет оператором while (например, в то время как x! = Y) решить вашу проблему? – nycdan
break; может исправить проблему –
Я уже пробовал перерыв в инструкции if, но это не сработало. – user2775084