谁能给我解释一下这个快速排序的例子?

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]


这里是这个过程的一个小例子: