【发布时间】:2017-10-08 13:41:13
【问题描述】:
我看了一个关于快速排序的视频,但我看不懂代码:
public static void main(String[] args){
int[] array = { 1, 2, 3, 4, 5 };
int left = 0;
int right = array.length - 1;
for (left = 0; left < right; left++, right--) {
int temp = array[left];
array[left] = array[right];
array[right] = temp;
}
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
这部分让我感到困惑:
int temp = array[left];
array[left] = array[right];
array[right] = temp;
你能给我解释一下吗?
【问题讨论】:
-
它只是在指定索引处交换元素。
-
这是一种交换数组中元素的方法。
temp变量是一个中间占位符,用于存储array[left]值,以便从左到右交换。 -
这甚至不是快速排序。它只是反转数组。
-
我认为您需要找到一个新视频,因为该代码不能快速排序。
-
把整个算法写在纸上
标签: java arrays algorithm sorting quicksort