ホームページ >バックエンド開発 >C++ >入れ子になったループパズル?

入れ子になったループパズル?

WBOY
WBOY転載
2023-09-09 12:13:02601ブラウズ

入れ子になったループパズル?

このセクションでは、興味深い問題について説明します。 2 つのコード スニペットが表示されます。どちらにも 2 つのネストされたループがあります。どちらがより速く実行されるかを判断する必要があります。 (コンパイラはコードを最適化しないと仮定します)。

コード セグメント 1

for(int i = 0; i < 10; i++){
   for(int j = 0; j<100; j++){
      //code
   }
}

セグメント 2

の中国語訳は次のとおりです:

段落 2

for(int i = 0; i < 100; i++){
   for(int j = 0; j<10; j++){
      //code
   }
}

コードの両方のセグメントは同じ回数実行されます。 2 つのループ内のコードは、どちらの場合も 10,000 回実行されます。しかし、よく見てみると、2 番目のコードが最初のコードよりも多くのタスクを実行していることがわかります。コードの最初の部分では、内側のループが 10 回実行されます。したがって、初期化、条件チェック、およびインクリメント操作が 10 回実行されます。ただし、2 番目のコードでは、内側のループが 100 回実行されます。したがって、初期化、条件チェック、およびインクリメント操作が 100 回実行されます。したがって、最初のコードよりも時間がかかります。

以上が入れ子になったループパズル?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。