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

回答編集履歴

1

解説が間違っている可能性があったので削除

2018/06/16 10:57

投稿

michael-ilcsy
michael-ilcsy

スコア180

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
- ↑のような書き方をすることでソート済みのものをはぶいているわけです。