所以基本上有两个单独的预排序数组,你必须组合它们并对它们进行排序(当然没有 sort() 方法)。这是我的代码:
public static void main(String[] args) {
int a [] = {3,5,7,9,12,14, 15};
int b [] = {6 ,7, 10};
int j = 0;
//output array should be 3,5,6,7,7,9,10,12,14,15
int c [] = new int[a.length+b.length];//10 values
for (int i = 0;i<b.length;i++){
while(b[i]>a[j]){
c[j] = a[j] ;
j++;
}
if(b[i] == a[j]){
c[j] = b[i];
c[j+1] = a[j];
}
c[j] = b[i];
j++;
}
for(int i = 0;i<c.length;i++)
System.out.println(c[i]);
}
我猜我得到的零是由于其中一个布尔值(<&>)中的错误造成的,但我似乎无法弄清楚。前 4 个效果很好,但是一旦我到达重复的 7 个,它就会变得疯狂。
请帮助我理解,不要只是更改代码。