我正在编写一个插入排序程序但是当前实现时,当“n”为40,000时,它需要大约9.470秒。我想知道他们是否有办法收紧这个问题(更快版本的交换?)我对所有建议都持开放态度,并感谢他们的帮助。
(下面的代码)
public void insertionSort(ArrayList<String> data, int firstIndex, int numberToSort) {
for (int i = 1; i < numberToSort; i++) {
for (int j = 0; j < i; j++) {
if (data.get((2 * firstIndex) + i).compareTo(data.get(firstIndex + j)) < 0)
Collections.swap(data, firstIndex + i, firstIndex + j);
}
}
}