0
コードはソートされた配列を出力すると想定されていますが、0を出力します。数値の代わりに0を出力する配列
例として、プログラムを実行するときに、メソッドを要求するときは「2」を、カウントを要求するときは「5」を、カウントを要求するときは「10」「9」「2」「5」「0」を書き込みます。それはアイテムを求めているとき。それからあなたは見るでしょう。私はすべての命令が与えられ、その後、私はsecondMethod(int[] a)
方法では、あなたのコードでは...
public static void secondMethod(int[] a) {
long t1 = System.nanoTime();
int N = a.length;
int b[] = new int[N];
int c[] = new int[N];
int[] tmp;
int len = 1;
for (int i = 0; i < a.length; i++) {
a[i] = b[i];
}
while (len < N) {
int n = 0;
int i;
int j;
int ri;
int rj;
for (int k=0; k<b.length; k+=2*len){{
n=k;
i = k;
j = k+len;
if(k+len<N){
ri = k+len;
}else{
ri = N;
}
if(k+2*len<N){
rj = k+2*len;
}else{
rj = N;
}
}
while(i<ri && j<rj){
if(b[i]<b[j]){
c[n]=b[i];
i++;
n++;
}else{
c[n]=b[j];
j++;
n++;
}
}
while(i<ri){
c[n]=b[i];
i++;
n++;
}
while(j<rj){
c[n]=b[j];
j++;
n++;
}
}
len = len*2;
tmp = b;
b = c;
c = tmp;
}
for (int i = 0; i < a.length; i++) {
a[i] = b[i];
}
long t2 = System.nanoTime();
long t = t2 - t1;
System.out.println("t=" + t);
}
public static void main(String[] args) {
int nm, mtd;
Scanner sc = new Scanner(System.in);
System.out.print("method: ");
if (sc.hasNextInt())
mtd = sc.nextInt();
else {
System.out.println("input-output error");
sc.close();
return;
}
if (mtd != 1 && mtd != 2) {
System.out.println("input-output error");
sc.close();
return;
}
System.out.print("count: ");
if (sc.hasNextInt())
nm = sc.nextInt();
else {
System.out.println("input-output error");
sc.close();
return;
}
int a[] = new int[nm];
System.out.println("items: ");
for (int i = 0; i < a.length; i++) {
if (sc.hasNextInt())
a[i] = sc.nextInt();
else {
System.out.println("input-output error");
sc.close();
return;
}
}
sc.close();
if (mtd == 1) {
firstMethod(a);
System.out.println("sorted: ");
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
if (mtd == 2){
secondMethod(a);
System.out.println("sorted: ");
for (int i = 0; i < a.length; i++)
System.out.print(a[i] + " ");
}
}
"次回デバッグを試してみてください。"この質問の90%はこのアドバイスで簡単に解決できます。 –
それは今作動する!ありがとうございました!!! –
私はデバッグが何であるか分からず、https://www.jetbrains.com/help/idea/2016.2/tutorial-debugging-your-first-java-application.htmlでもこれをチェックしています上の男は与えた。 –