見出し画像

配列の中身を整える〜バブルソート〜

マルくん

この記事では配列の要素を50個作ってその中にランダムな整数を格納して、さらにバラバラに格納されてる配列の中身を昇順で並びかえる方法を紹介しています。

ちなみに使ってる言語は「  Java  」です。

配列について詳しく知りたい方はJava訓練#12をご覧下さい。

それでは、まずはコードから見ていきましょう。

int[] data = new int[50];
int a = data.length;
int w = 0;
		
System.out.println("バラバラの数字を昇順で並べるプログラム");
		
//ランダムな整数を格納
for(int c = 0; c < 50; c++){
  data[c]= (int)(Math.random()*200) +1;
}
System.out.println("変更前");

//配列の中身を取り出す		
for(int b = 0; b < a; b++){
  System.out.print(data[b]+ " ");
  w++;
  if(w == 10){
    System.out.println("¥n");
    w = 0;
  }
}
//配列を昇順に並べかえる
for(int n = 0; n < a -1; n++){
  for(int j = a -1; j > n; j--){
    if(data[j - 1] > data[j]){
       int box = data[j];
       data[j] = data[j - 1];
       data[j - 1] = box;
     }
   }
}
System.out.println("\n変更後");
   
   //昇順に並んだ配列の中身を取り出す
   for(int x = 0; x < a; x++){
      System.out.print(data[x]+ " ");
      w++;
      if(w == 10){
	System.out.println("¥n");
	w = 0;

このソースコードではまず配列にランダムの整数を格納して、配列の中身を入れ替える前を表示して、その後配列の中身を入れ替えてからまた中身を表示するプログラムになっています。

《このプログラムの実行結果》

画像3

まず、配列の要素に for文を使って値を格納します。その時にランダムの整数を生成して代入してます。

次に並び替える前の配列の中身を取り出します。
さらに、if文を使って取り出した値を見やすいように並べています。変数 w を使って for文が繰り返されるたびにカウントアップするようにして、10回になったら「改行してカウントを0に戻す」という処理をしています。

そして、配列の中身を入れ替えた後、再度配列の中身を取り出しています。

さらにこのソースコードについて詳しく知りたい方は
初心者でも分かるバブルソート〜配列を順番に並べ換える〜をご覧下さい。

-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥-¥

プログラミングの基礎については下記の記事をご覧ください。

良かったらご覧下さい↓↓↓

最後まで読んで頂きありがとうございました。

少しでも勉強になった、役に立ったと思ったら「 サポート」 で貴方のお気持ちを頂けると嬉しいです。
今後の励みにもなります。是非よろしくお願いします。



この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
マルくん