回答編集履歴

2

コードでなく、出だしのコメントの方もStack<Integer>からDeque<Integer>に直しました

2017/12/31 01:58

投稿

anndonut
anndonut

スコア667

test CHANGED
@@ -1,4 +1,4 @@
1
- Stack<Integer>を使った書き方です。「Forthの力を信じよ!」ってやつです。
1
+ Deque<Integer>を使った書き方です。「Forthの力を信じよ!」ってやつです。
2
2
 
3
3
 
4
4
 

1

StackクラスからDequeインターフェースに変更しました

2017/12/31 01:58

投稿

anndonut
anndonut

スコア667

test CHANGED
@@ -4,7 +4,9 @@
4
4
 
5
5
  ```java
6
6
 
7
- import java.util.Stack;
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
- Stack<Integer> stack = new Stack<Integer>();
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.empty()) {
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(5);
69
+ recur3(3);
64
70
 
65
71
  }
66
72
 
67
73
  }
68
74
 
69
-
70
-
71
75
  ```