Jump statement overview in C++ - Time & Space Complexity
Jump statements like break, continue, and return change how loops and functions run.
We want to see how these jumps affect the time it takes for code to finish.
Analyze the time complexity of the following code snippet.
for (int i = 0; i < n; i++) {
if (i == 5) {
break;
}
// some constant time work
}
This code loops from 0 to n but stops early when i reaches 5.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The for-loop that runs up to n times.
- How many times: Normally n times, but here it stops early at 5.
Because the loop breaks early, it only runs a fixed number of times regardless of n.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 6 |
| 100 | 6 |
| 1000 | 6 |
Pattern observation: The number of operations stays the same even if input grows.
Time Complexity: O(1)
This means the code runs in constant time, not growing with input size.
[X] Wrong: "Since the loop can run up to n, time complexity is always O(n)."
[OK] Correct: Because the break stops the loop early, the actual work is fixed and does not grow with n.
Understanding how jump statements affect loops helps you explain code efficiency clearly and confidently.
"What if the break condition changed to i == n/2? How would the time complexity change?"
Practice
Solution
Step 1: Understand the purpose of
Thebreakbreakstatement immediately exits the nearest enclosing loop or switch.Step 2: Compare with other jump statements
continueskips to the next loop iteration,returnexits a function, andgotojumps to a label.Final Answer:
break-> Option AQuick Check:
Exit loop early =break[OK]
- Confusing break with continue
- Thinking return exits loops only
- Using goto without label
Solution
Step 1: Identify the statement that skips current iteration
Thecontinue;statement skips the rest of the current loop iteration and moves to the next.Step 2: Verify syntax correctness
skip;is invalid,break;exits loop,return;exits function.Final Answer:
continue; -> Option CQuick Check:
Skip iteration = continue [OK]
- Using break to skip iteration
- Using return inside loops incorrectly
- Writing skip instead of continue
int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) continue;
std::cout << i << " ";
}
return 0;
}Solution
Step 1: Analyze the loop and condition
The loop runs from 1 to 5. Wheni == 3,continue;skips printing 3.Step 2: Determine printed values
Values 1, 2, 4, and 5 are printed with spaces.Final Answer:
1 2 4 5 -> Option AQuick Check:
Skip 3 with continue = 1 2 4 5 [OK]
- Including 3 in output
- Confusing break with continue
- Not printing spaces correctly
int main() {
for (int i = 0; i < 5; i++) {
if (i == 2) break
std::cout << i << " ";
}
return 0;
}Solution
Step 1: Check syntax of break statement
Thebreakstatement must end with a semicolon. Here it is missing.Step 2: Confirm other parts are correct
The loop condition and return statement are correct; break is valid inside loops.Final Answer:
Missing semicolon after break statement -> Option DQuick Check:
break needs semicolon [OK]
- Omitting semicolon after break
- Thinking break can't be inside loops
- Confusing break with continue syntax
int findFirstEven(int arr[], int size) {
for (int i = 0; i < size; i++) {
if (arr[i] % 2 == 0) return arr[i];
}
return -1;
}What does the
return statement inside the loop do?Solution
Step 1: Understand return inside a loop
Thereturninside the loop immediately exits the function when an even number is found.Step 2: Confirm behavior after return
No further iterations or code run after return; function ends and returns value.Final Answer:
Exits the loop and returns the first even number found -> Option BQuick Check:
Return exits function immediately [OK]
- Thinking return skips iteration only
- Confusing return with break
- Assuming function continues after return
Ready to prove it?
Pass the test and this pattern moves unknown
