for (int i = 0; a[i] > x; i++) { ... }
for (int i = 0; i < n; i++) {
if (a[i] > x) { ... }
}
| 特性 | 版本 A | 版本 B |
|---|---|---|
| 循環終止條件 | 遇到首個 a[i] <= x 即跳出整個循環 | 遍歷完所有 n 個元素,僅跳過不滿足條件的迭代 |
循環變量 i 最终值 | 停在首個不滿足條件的位置 | 循環結束時 i == n |
| 適用場景 | 有序數組查找邊界、提前退出優化 | 無序數組全量篩選、統計滿足條件的元素 |
版本 A 利用條件作為「循環繼續條件」,屬于守衛模式;版本 B 屬于遍歷過濾模式。兩者語義截然不同,不可混用。