我正在尝试学习一个测试和一个我无法与 BubbleSort 达成交易的学习问题。问题是:
修改下面的 BubbleSort 代码以使其执行短路。我的意思是,修改它,以便如果在没有进行任何交换的情况下完成传递,则执行将停止。
public static<T extends Comparable<T>> void bubbleSort(T[] data)
{
int position, scan;
T temp;
for (position = data.length - 1; position >= 0; position--)
{
for (scan = 0; scan <= position - 1; scan++)
{
if (data[scan].compareTo(data[scan+1]) > 0)
{
/**Swap the values*/
temp = data[scan];
data[scan] = data[scan+1];
data[scan + 1] = temp;
}
}
}
}