質問編集履歴
5
修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
### 該当のソースコード
|
21
21
|
|
22
22
|
```java
|
23
|
-
public class
|
23
|
+
public class QuickSort {
|
24
24
|
|
25
25
|
ArrayList<Integer> array = new ArrayList<Integer>();
|
26
26
|
|
4
修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,8 +13,8 @@
|
|
13
13
|
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
|
14
14
|
at java.base/java.util.Objects.checkIndex(Objects.java:373)
|
15
15
|
at java.base/java.util.ArrayList.get(ArrayList.java:426)
|
16
|
-
at Quick.
|
16
|
+
at Quick.Quick(Quick.java:24)
|
17
|
-
at Quick.
|
17
|
+
at Quick.Quick(Quick.java:35)
|
18
18
|
```
|
19
19
|
|
20
20
|
### 該当のソースコード
|
3
修正しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,8 +13,8 @@
|
|
13
13
|
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
|
14
14
|
at java.base/java.util.Objects.checkIndex(Objects.java:373)
|
15
15
|
at java.base/java.util.ArrayList.get(ArrayList.java:426)
|
16
|
-
at
|
16
|
+
at Quick.Quick1(Quick.java:24)
|
17
|
-
at
|
17
|
+
at Quick.Quick1(Quick.java:35)
|
18
18
|
```
|
19
19
|
|
20
20
|
### 該当のソースコード
|
2
ご指摘頂いた部分を修正しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,17 +7,14 @@
|
|
7
7
|
### 発生している問題・エラーメッセージ
|
8
8
|
|
9
9
|
```
|
10
|
-
Exception in thread "main" java.lang.
|
10
|
+
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index 0 out of bounds for length 0
|
11
|
+
at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64)
|
12
|
+
at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70)
|
13
|
+
at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248)
|
11
|
-
at java.base/java.util.
|
14
|
+
at java.base/java.util.Objects.checkIndex(Objects.java:373)
|
12
|
-
at java.base/java.util.ArrayList.grow(ArrayList.java:236)
|
13
|
-
at java.base/java.util.ArrayList.grow(ArrayList.java:243)
|
14
|
-
at java.base/java.util.ArrayList.add(ArrayList.java:453)
|
15
|
-
at java.base/java.util.ArrayList.
|
15
|
+
at java.base/java.util.ArrayList.get(ArrayList.java:426)
|
16
|
-
at
|
16
|
+
at kadai7.S7018534_Quick.Quick1(S7018534_Quick.java:24)
|
17
|
-
at
|
17
|
+
at kadai7.S7018534_Quick.Quick1(S7018534_Quick.java:35)
|
18
|
-
at Quick.Quick(Quick.java:34)
|
19
|
-
at Quick.Quick(Quick.java:34)
|
20
|
-
...
|
21
18
|
```
|
22
19
|
|
23
20
|
### 該当のソースコード
|
@@ -38,8 +35,8 @@
|
|
38
35
|
|
39
36
|
//一番左の値をピボットとして分割処理
|
40
37
|
int P = array.get(0);
|
41
|
-
for (int i=
|
38
|
+
for (int i=1; i<size; i++) {
|
42
|
-
if (P >
|
39
|
+
if (P > array.get(i)) {
|
43
40
|
L.add(array.get(i));
|
44
41
|
}else {
|
45
42
|
R.add(array.get(i));
|
@@ -53,15 +50,15 @@
|
|
53
50
|
array.clear();
|
54
51
|
|
55
52
|
//分割した値を統合
|
56
|
-
int indexL = 0, indexR = 0;
|
57
|
-
while (indexL<L.size() || indexR<R.size()) {
|
58
|
-
|
53
|
+
for (int i=0; i<L.size(); i++) {
|
59
|
-
array.add(R.get(indexR)); indexR++;
|
60
|
-
}
|
61
|
-
else if (indexR == R.size()) {
|
62
|
-
|
54
|
+
array.add(L.get(i));
|
63
|
-
}
|
64
55
|
}
|
56
|
+
|
57
|
+
array.add(P);
|
58
|
+
|
59
|
+
for (int i=0; i<R.size(); i++) {
|
60
|
+
array.add(R.get(i));
|
61
|
+
}
|
65
62
|
}
|
66
63
|
}
|
67
64
|
```
|
1
すみません。こちらにミスです。
title
CHANGED
File without changes
|
body
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
ArrayList<Integer> array = new ArrayList<Integer>();
|
29
29
|
|
30
30
|
//クイックソート
|
31
|
-
void
|
31
|
+
void Quick(ArrayList<Integer> array) {
|
32
32
|
int size = array.size();
|
33
33
|
|
34
34
|
//listの大きさが1なら再帰終了
|
@@ -56,10 +56,10 @@
|
|
56
56
|
int indexL = 0, indexR = 0;
|
57
57
|
while (indexL<L.size() || indexR<R.size()) {
|
58
58
|
if (indexL == L.size()) {
|
59
|
-
|
59
|
+
array.add(R.get(indexR)); indexR++;
|
60
60
|
}
|
61
61
|
else if (indexR == R.size()) {
|
62
|
-
|
62
|
+
array.add(L.get(indexL)); indexL++;
|
63
63
|
}
|
64
64
|
}
|
65
65
|
}
|