回答編集履歴
1
解説が間違っている可能性があったので削除
answer
CHANGED
@@ -10,21 +10,4 @@
|
|
10
10
|
}
|
11
11
|
}
|
12
12
|
```
|
13
|
-
こんな感じになります。
|
13
|
+
こんな感じになります。
|
14
|
-
重要なことが二点ありまして
|
15
|
-
一つ目はLouiS0616さんが書いている通り「入れかえ」なので
|
16
|
-
```
|
17
|
-
array[i] = array[j]
|
18
|
-
```ではなく
|
19
|
-
```
|
20
|
-
int asc = array[j];
|
21
|
-
array[j] = array[j+1];
|
22
|
-
array[j+1] = asc;
|
23
|
-
```
|
24
|
-
と書く必要があること
|
25
|
-
二つ目は二つ目のループを
|
26
|
-
```for(int j=0; j < array.length-i-1; j++)```
|
27
|
-
このように書くことです。
|
28
|
-
何故かといいますとこの並び替えは左から順にソートしていっているのですが、
|
29
|
-
質問者さんの書き方だとすでにソート済みのものも対象になってしまいますので
|
30
|
-
↑のような書き方をすることでソート済みのものをはぶいているわけです。
|