teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

大幅に内容変更

2020/03/24 07:46

投稿

kaina
kaina

スコア418

answer CHANGED
@@ -1,2 +1,20 @@
1
- jインクリメントしてどうする?
1
+ 真面目に見て、指摘事項メントで追記ました。
2
+
3
+ ```java
4
+ public class Main{
5
+ public static void main(String[] args){
6
+ int[] a ={5,3,2,9,0};
2
- printlnしたいのはソート後のaの中身ではないの?
7
+ for(int i= 0;i<a.length-1;i++){
8
+ for(intj=a.length-1;j>i;j++){ //intとjの間にスペースが無い、jをインクリメントすると配列の範囲外
9
+ if(a[j]>a[j+1]){ // ここもj+1だと配列の範囲外
10
+ int tmp = a[i]; // 上のif分で比較はa[j]とその隣の値で比較してるのに、tmpに退避する値はa[i]?
11
+ a[i]=a[j]; // バブルソートは配列内の隣り合った値を入れ替えてソートをする手法ですが、これだと隣り合った値にはならない
12
+ a[j]=tmp;
13
+ }
14
+ }
15
+ }
16
+ for(int i:a){
17
+ System.out.println(i);
18
+ }
19
+ }
20
+ ```