谁能给我解释一下这个快速排序的例子?
Can anyone explain me this quicksort example?
我看了一个关于快速排序的视频,但是我看不懂代码:
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;
你能给我解释一下吗?
代码片段交换 array[left]
和 array[right]
的值,仅此而已。
它首先记住临时变量array[left]
中的值temp
,因为它很快就会被覆盖。
之后,它用array[right]
中存储的值覆盖 array[left]
中的值。
最后它将存储在temp
中的旧array[left]
的记忆值写入array[right]
。
这里是这个过程的一个小例子:
我看了一个关于快速排序的视频,但是我看不懂代码:
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;
你能给我解释一下吗?
代码片段交换 array[left]
和 array[right]
的值,仅此而已。
它首先记住临时变量array[left]
中的值temp
,因为它很快就会被覆盖。
之后,它用array[right]
中存储的值覆盖 array[left]
中的值。
最后它将存储在temp
中的旧array[left]
的记忆值写入array[right]
。
这里是这个过程的一个小例子: