我正在根据我从导师那里得到的代码解决插入排序问题,但我不知道这意味着什么 (int ai = a[i], j;)
public static void sort(int[] a) {
// POSTCONDITION: a[0] <= a[1] <= ... <= a[a.length-1];
for (int i = 1; i < a.length; i++) { // step 1
int ai = a[i], j; // step 2
for (j = i; j > 0 && a[j-1] > ai; j--) { // step 3
a[j] = a[j-1]; // step 4
}
a[j] = ai; // step 5
// INVARIANT: a[0] <= a[1] <= ... <= a[i];
}
最佳答案
int ai = a[i], j;
这声明了一个变量ai
,初始化为值a[i]
;和一个未初始化的变量 j
。
有些人认为在同一语句中声明两个或多个变量会造成混淆,应该避免(例如 banned by Google's style guide)。
关于java - 什么是 int ai = a[i], j;做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58582925/