回答編集履歴
2
コードでなく、出だしのコメントの方もStack<Integer>からDeque<Integer>に直しました
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
Deque<Integer>を使った書き方です。「Forthの力を信じよ!」ってやつです。
|
2
2
|
|
3
3
|
|
4
4
|
|
1
StackクラスからDequeインターフェースに変更しました
test
CHANGED
@@ -4,7 +4,9 @@
|
|
4
4
|
|
5
5
|
```java
|
6
6
|
|
7
|
-
import java.util.
|
7
|
+
import java.util.Deque;
|
8
|
+
|
9
|
+
import java.util.ArrayDeque;
|
8
10
|
|
9
11
|
|
10
12
|
|
@@ -18,13 +20,17 @@
|
|
18
20
|
|
19
21
|
public static void recur3(int n) {
|
20
22
|
|
23
|
+
// Javaのドキュメントによると、Stackクラスの代わりに
|
24
|
+
|
25
|
+
// Dequeインターフェースを使用することが推奨されています。
|
26
|
+
|
21
|
-
|
27
|
+
Deque<Integer> stack = new ArrayDeque<Integer>();
|
22
28
|
|
23
29
|
stack.push(n);
|
24
30
|
|
25
31
|
stack.push(RECURSION);
|
26
32
|
|
27
|
-
while (!stack.
|
33
|
+
while (!stack.isEmpty()) {
|
28
34
|
|
29
35
|
if (stack.pop() == RECURSION) {
|
30
36
|
|
@@ -60,12 +66,10 @@
|
|
60
66
|
|
61
67
|
public static void main(String[] args) {
|
62
68
|
|
63
|
-
recur3(
|
69
|
+
recur3(3);
|
64
70
|
|
65
71
|
}
|
66
72
|
|
67
73
|
}
|
68
74
|
|
69
|
-
|
70
|
-
|
71
75
|
```
|