OSDN Git Service

style: format markdown files with remark-lint
author24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Tue, 3 Sep 2019 03:43:05 +0000 (23:43 -0400)
committer24OI-bot <15963390+24OI-bot@users.noreply.github.com>
Tue, 3 Sep 2019 03:43:05 +0000 (23:43 -0400)
docs/lang/loop.md

index 8728bb5..bcd1e70 100644 (file)
@@ -8,7 +8,7 @@
 
 ```cpp
 for (初始化; 判断条件; 更新) {
-    循环体;
+  循环体;
 }
 ```
 
@@ -20,7 +20,7 @@ e.g. 读入 n 个数:
 
 ```cpp
 for (int i = 1; i <= n; ++i) {
-    cin >> a[i];
+  cin >> a[i];
 }
 ```
 
@@ -32,7 +32,7 @@ for 语句的三个部分中,任何一个部分都可以省略。其中,若
 
 ```cpp
 while (判断条件) {
-    循环体;
+  循环体;
 }
 ```
 
@@ -44,11 +44,11 @@ e.g. 验证 3x+1 猜想:
 
 ```cpp
 while (x > 1) {
-    if (x % 2 == 1) {
-        x = 3 * x + 1;
-    } else {
-        x = x / 2;
-    }
+  if (x % 2 == 1) {
+    x = 3 * x + 1;
+  } else {
+    x = x / 2;
+  }
 }
 ```
 
@@ -57,9 +57,8 @@ while (x > 1) {
 以下是 do...while 语句的结构:
 
 ```cpp
-do
-{
-    循环体;
+do {
+  循环体;
 } while (判断条件);
 ```
 
@@ -73,7 +72,7 @@ e.g. 枚举排列:
 
 ```cpp
 do {
-    // do someting...
+  // do someting...
 } while (next_permutation(a + 1, a + n + 1));
 ```
 
@@ -83,15 +82,15 @@ do {
 // for 语句
 
 for (statement1; statement2; statement3) {
-    statement4;
+  statement4;
 }
 
 // while 语句
 
 statement1;
 while (statement2) {
-    statement4;
-    statement3;
+  statement4;
+  statement3;
 }
 ```
 
@@ -102,13 +101,13 @@ while (statement2) {
 
 statement1;
 while (statement2) {
-    statement1;
+  statement1;
 }
 
 // do...while 语句
 
 do {
-    statement1;
+  statement1;
 } while (statement2);
 ```
 
@@ -116,11 +115,11 @@ do {
 
 ```cpp
 while (1) {
-    // do something...
+  // do something...
 }
 
 for (;;) {
-    // do something...
+  // do something...
 }
 ```
 
@@ -128,9 +127,9 @@ for (;;) {
 
 可以看出,三种语句可以彼此代替,但一般来说,语句的选用遵守以下原则:
 
-1. 枚举一个变量时,使用 for 语句;
-2. “到何时为止”时,使用 while 语句;
-3. 使用 while 语句时,若要先执行循环体再进行判断,使用 do...while 语句。
+1.  枚举一个变量时,使用 for 语句;
+2.  “到何时为止”时,使用 while 语句;
+3.  使用 while 语句时,若要先执行循环体再进行判断,使用 do...while 语句。
 
 ## break 与 continue 语句
 
@@ -140,10 +139,10 @@ continue 语句的作用是跳过循环体的余下部分,回到循环的开
 
 ```cpp
 for (int i = 1; i <= 10; ++i) {
-    std::cout << i << std::endl;
-    if (i > 3) break;
-    if (i > 2) continue;
-    std::cout << i << std::endl;
+  std::cout << i << std::endl;
+  if (i > 3) break;
+  if (i > 2) continue;
+  std::cout << i << std::endl;
 }
 
 /*
@@ -165,52 +164,51 @@ break 与 continue 语句均可在三种循环语句的循环体中使用。
 // 逻辑较为不清晰,大括号层次复杂
 
 for (int i = 1; i <= n; ++i) {
-    if (i != x) {
-        for (int j = 1; j <= n; ++j) {
-            if (j != x) {
-                // do something...
-            }
-        }
+  if (i != x) {
+    for (int j = 1; j <= n; ++j) {
+      if (j != x) {
+        // do something...
+      }
     }
+  }
 }
 
 // 逻辑更加清晰,大括号层次简单明了
 
 for (int i = 1; i <= n; ++i) {
-    if (i == x) continue;
-    for (int j = 1; j <= n; ++j) {
-        if (j == x) continue;
-        // do something...
-    }
+  if (i == x) continue;
+  for (int j = 1; j <= n; ++j) {
+    if (j == x) continue;
+    // do something...
+  }
 }
 
 // for 语句判断条件复杂,没有体现“枚举”的本质
 
 for (int i = l; i <= r && i % 10 != 0; ++i) {
-    // do something...
+  // do something...
 }
 
 // for 语句用于枚举,break 用于“到何时为止”
 
 for (int i = l; i <= r; ++i) {
-    if (i % 10 == 0) break;
-    // do something...
+  if (i % 10 == 0) break;
+  // do something...
 }
 
 // 语句重复,顺序不自然
 
 statement1;
 while (statement3) {
-    statement2;
-    statement1;
+  statement2;
+  statement1;
 }
 
 // 没有重复语句,顺序自然
 
 while (1) {
-    statement1;
-    if (!statement3) break;
-    statement2;
+  statement1;
+  if (!statement3) break;
+  statement2;
 }
 ```
-