0
我想要完成此合并排序方法,但出于某种原因,我显示错误“运算符< =未定义参数类型(s) T,T”运算符<=未定义为参数类型
的if语句
if(a[beginHalf1] <= a[beginHalf2])
{
tempArray[index] = a[beginHalf1];
beginHalf1++;
}
这里是完整的代码
public static <T extends Comparable<? super T>>
void merge(T[] a, T[] tempArray, int first, int mid, int last){
int beginHalf1 = first;
int endHalf1 = mid;
int beginHalf2 = mid +1;
int endHalf2 = last;
int index = 0;
while((beginHalf1 <= endHalf1) && (beginHalf2 <= endHalf2))
{
if(a[beginHalf1] <= a[beginHalf2]){
tempArray[index] = a[beginHalf1];
beginHalf1++;
}
else
{
tempArray[index]=a[beginHalf2];
beginHalf2++;
}
index++;
}
} // end merge
请在您的问题上添加语言标签(Java?)。并缩进代码,使其更具可读性。 – Barmar 2015-04-01 21:38:40
在我的教科书中的另一个问题是,有一行代码表示“交换一个[indexFromLeft]和一个[indexFromRight]”我知道这个“并且”意味着&&但是“Exchange”是什么意思? – ANIME4154142 2015-04-01 22:13:17
*但“Exchange”是什么意思?* - 开关?你确定'和'的意思是'&&'在那一行吗?因为'&&'通常被定义为'AND'。 – WonderWorld 2015-04-01 22:19:46