嵌套循环拼图?
在本节中,我们将看到一个有趣的问题。我们将看到两个代码段。两者都带有两个嵌套循环。我们必须确定哪个将运行得更快。(我们将假定编译器没有优化代码)。
段1
for(int i = 0; i < 10; i++){ for(int j = 0; j<100; j++){ //代码 } }
段2
for(int i = 0; i < 100; i++){ for(int j = 0; j<10; j++){ //代码 } }
两种代码将运行相同的次数。在两种情况下,两个循环内的代码将执行10000次。但是,如果仔细看,我们可以理解第二个代码比第一个执行的任务更多。在第一个代码中,内部循环将执行10次。因此,对于初始化,条件检查和增量操作将执行10次。但是对于第二个代码,内部循环将执行100次。因此,初始化,条件检查和增量操作将执行100次。因此,将比第一个过程花费更长的时间。