gpt4 book ai didi

java - 关于合并算法的问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:08 24 4
gpt4 key购买 nike

嗨,我有一个问题,我知道这个问题在某种程度上是无稽之谈,但让我们看看我有代码将两个排序数组合并到一个排序数组中,这里是 java 代码

public class Merge {

public static void main(String[]args){

int a[]=new int[]{7,14,23,30,35,40};
int b[]=new int[]{5,8,9,11,50,67,81};
int c[]=new int[a.length+b.length];
int al=0;
int bl=0;
int cl=0;

while (al<a.length && bl<b.length)
if (a[al]<b[bl])
c[cl++]=a[al++];
else
c[cl++]=b[bl++];


while (al<a.length)
c[cl++]=a[al++];

while (bl<b.length)
c[cl++]=b[bl++];

for (int j=0;j<c.length;j++){
System.out.println(c[j]);
}


}
}

问题是如果我们在这里写 {} 括号为什么不起作用

while (al<a.length && bl<b.length){
}

?

最佳答案

这取决于你把括号放在哪里,你当前的代码相当于:

while (al<a.length && bl<b.length) {
if (a[al]<b[bl]) {
c[cl++]=a[al++];
} else {
c[cl++]=b[bl++];
}
}

如果将括号放在任何其他位置,您将更改代码的语义。

关于java - 关于合并算法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2911600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com