java 中的数组内部递减 (Array[i--])

Decrement inside array in java (Array[i--])

我从 LeetCode

中找到了解决方案
public class Solution {
public void merge(int A[], int m, int B[], int n) {
    int i = m - 1, j = n - 1, k = m + n - 1;
    while(i >= 0 && j >= 0) {
        A[k--] = A[i] > B[j] ? A[i--] : B[j--];
    }
    while(j >= 0) {
        A[k--] = B[j--]; //line 8
    }
}

我想了解 java 中的 A[k--] 是什么。对于第 8 行,是否表示

        A[k] = B[j];
        k--;
        j--;

A[k--] = 2; 意思是:
"I affect the value 2 at the k index of the array and after the affectation, the k takes the value k-1"
例如:

int k = 4;
int A[] = {0, 0, 0, 0, 0};
// here k=4 and A={0, 0, 0, 0, 0}
A[k--] = 12;
// Now k=3 and A={0, 0, 0, 0, 12}

举个例子更容易。假设 k 是 5,j 是 2。结果是,顺序是:

  1. A[k] 位于 A[5]
  2. k 从 5 递减到 4。
  3. 复制 B[j] 的值,即 B[2]
  4. j 从 2 递减到 1。
  5. B[2]复制的值赋值到1.中确定的位置,即A[5]

除此之外,允许编译器重新排列顺序,只要保证结果相同即可。

所以是的,你是对的,结果也与你从以下获得的结果相同:

    A[k] = B[j];
    k--;
    j--;