dポイントプレゼントキャンペーン実施中!

javaで、バブルソートにより、入力した数字を小さい順に並べるプログラムを作りたいです。次のようなものです。

数をいくつ入力しますか? 5
1番目の数:4
2番目の数:3
3番目の数:2
4番目の数:1
5番目の数:5


1番目の数: 1 (元4番目の数)
2番目の数: 2 (元3番目の数)
3番目の数: 3 (元2番目の数)
4番目の数: 4 (元1番目の数)
5番目の数: 5 (元5番目の数)


その際に、もともとそれが何番目に入力された数だったかということも表示させたいのですが、その方法が分かりません。
元の数字の順番を記憶させればいいのだと思うのですが、どのようにプログラムを組めばいいのでしょうか?教えてくださると嬉しいです。

ちなみに数字を小さい順に並べるプログラムは次のようになりました。
import java.util.Scanner;


public class Test {

public static void main(String args[]){

int item[]=new int [100];



int a, b, t;

int count;



Scanner sc = new Scanner(System.in);

System.out.print("数をいくつ入力しますか?");

count=sc.nextInt();

for(a=0;a<count;a++){

System.out.print(a+1+"番目の数:");



item[a]=sc.nextInt();

}



System.out.println();

for(a=1;a<count;++a)

for(b=count-1;b>=a;--b){

if(item[b-1]>item[b]){

t=item[b-1];

item[b-1]=item[b];

item[b]=t;

}

}



for(t=0;t<count;t++)

System.out.println(t+1+"番目の数:"+item[t]);





}

}

A 回答 (1件)

class 覚えるためのクラス{


int 元の順番;
int 入力した数値;
}
みたいな元の入力順番と、入力した数値を記憶するクラスを定義して、それをソートする
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!