把这两段伪代码翻译成java,如能解决,必定采纳,谢谢

把这两段伪代码翻译成java,如能解决,必定采纳,谢谢
2025-05-12 14:10:14
推荐回答(2个)
回答1:

public class Test1 {
public static void main(String[] args) {
for (int a : do1(3,5,7,2,4,9)) {
System.out.print(a+",");
}
System.out.println("\n--------------------------------");
for (int a : do2(4,8,13,8,3,5,2,4,7,9,15,2,5,6,8,9,13,9,16)) {
System.out.print(a+",");
}
}
private static int[] do1(int...a){
//排序 @HL
for(int i=1;i int key=a[i];
int j=i-1;
while (j>=0 && a[j]>key) {
a[j+1]=a[j];
j--;
}
a[j+1]=key;
}
return a;
}
private static int[] do2(int p,int q,int r,int...a){
//分段排序的一部分,将已排序的两端排序 @HL
//要求数组p int n1=q-p+1;
int n2=r-q;
int[] a_l=new int[n1+1];
int[] a_r=new int[n2+1];
for(int i=0;i a_l[i]=a[p+i-1];
for(int i=0;i a_r[i]=a[q+i];
a_l[n1]=Integer.MAX_VALUE;
a_r[n2]=Integer.MAX_VALUE;
int i=0;
int j=0;
for(int k=p-1;k if(a_l[i]<=a_r[j])
a[k]=a_l[i++];
else
a[k]=a_r[j++];
}
return a;
}
}

回答2:

这个是什么语言、语法的含义是如何的