【发布时间】:2011-04-26 21:24:50
【问题描述】:
我正在查看 TimSort java 代码:Original Source 特别是 mergeLo 函数的第 676 到 739 行。它(大致)具有以下布局:
outer:
while (true) {
//Code here
break outer; //Code within a few if tests in the loop.
}
//Code here executes somehow.
我对这个函数如何停止运行感到困惑,因为唯一的 break 语句会转到外部块(然后应该退回到 while(true),并且没有 return 语句。
我的问题是,当我尝试对 184 个或更多元素进行排序时,第 747 行正在执行并引发异常,我想弄清楚如何解决它,任何帮助将不胜感激。
[注意]:这是部署在Android手机上的Java的collections.sort方法调用的函数。
【问题讨论】:
标签: java logic while-loop