質問編集履歴

2

文法の修正

2016/11/04 05:32

投稿

wanwanwan
wanwanwan

スコア21

test CHANGED
File without changes
test CHANGED
@@ -1,118 +1,6 @@
1
1
  ```ここに言語を入力
2
2
 
3
- #include <iostream>
4
-
5
- using namespace std;
6
-
7
-
8
-
9
- class Cell {
10
-
11
- friend class List;
12
-
13
- private:
14
-
15
- int data;
16
-
17
- Cell *next;
18
-
19
- public:
20
-
21
- Cell( int _data, Cell *_next );
22
-
23
- };
24
-
25
-
26
-
27
- class List {
28
-
29
- private:
30
-
31
- Cell *head;
32
-
33
- public:
34
-
35
- List( );
36
-
37
- ~List( );
38
-
39
- void addFirst( int data );
40
-
41
- void removeFirst( );
42
-
43
- void print( );
44
-
45
- void removeValue( int value );
46
-
47
- Cell *removeValue( int value, Cell *p );
48
-
49
- };
50
-
51
-
52
-
53
- Cell::Cell( int _data, Cell *_next = NULL ) {
54
-
55
- data = _data;
56
-
57
- next = _next;
58
-
59
- }
60
-
61
-
62
-
63
- List::List( ) {
64
-
65
- head = NULL;
66
-
67
- };
68
-
69
-
70
-
71
- List::~List( ) {
72
-
73
- while( head != NULL ) {
74
-
75
- removeFirst( );
76
-
77
- }
78
-
79
- };
80
-
81
-
82
-
83
- void List::addFirst( int data ) {
84
-
85
- head = new Cell( data, head );
86
-
87
- }
88
-
89
-
90
-
91
- void List::removeFirst( ) {
92
-
93
- Cell *target = head;
94
-
95
- if(target != NULL) {
96
-
97
- head = target->next;
98
-
99
- delete target;
100
-
101
- }
102
-
103
- }
104
-
105
-
106
-
107
- void List::removeValue( int value ) {
108
-
109
- head = removeValue( value, head );
110
-
111
- }
112
-
113
-
114
-
115
- Cell* List::removeValue( int value, Cell *p ) { // この関数の定義がわからない
3
+ removeValue( int value, Cell *p ) { // この関数の定義がわからない
116
4
 
117
5
 
118
6
 
@@ -174,62 +62,6 @@
174
62
 
175
63
 
176
64
 
177
- int main( ) {
178
-
179
- List l1;
180
-
181
-
182
-
183
- l1.removeValue( 5 );
184
-
185
- l1.print( );
186
-
187
- l1.addFirst( 1 );
188
-
189
- l1.addFirst( 2 );
190
-
191
- l1.addFirst( 3 );
192
-
193
- l1.addFirst( 3 );
194
-
195
- l1.addFirst( 4 );
196
-
197
- l1.addFirst( 3 );
198
-
199
- l1.addFirst( 2 );
200
-
201
- l1.addFirst( 1 );
202
-
203
- l1.print( );
204
-
205
- l1.removeValue( 1 );
206
-
207
- l1.print( );
208
-
209
- l1.removeValue( 5 );
210
-
211
- l1.print( );
212
-
213
- l1.removeValue( 3 );
214
-
215
- l1.print( );
216
-
217
- l1.addFirst( 5 );
218
-
219
- l1.print( );
220
-
221
- l1.removeValue( 2 );
222
-
223
- l1.print( );
224
-
225
-
226
-
227
- return 0;
228
-
229
- }
230
-
231
-
232
-
233
65
  ```
234
66
 
235
67
 
@@ -245,21 +77,3 @@
245
77
 
246
78
 
247
79
  ---
248
-
249
- 理想の実行結果
250
-
251
-
252
-
253
- リストの内容:
254
-
255
- リストの内容: 1 2 3 4 3 3 2 1
256
-
257
- リストの内容: 2 3 4 3 3 2
258
-
259
- リストの内容: 2 3 4 3 3 2
260
-
261
- リストの内容: 2 4 2
262
-
263
- リストの内容: 5 2 4 2
264
-
265
- リストの内容: 5 4

1

質問の追加

2016/11/04 05:32

投稿

wanwanwan
wanwanwan

スコア21

test CHANGED
File without changes
test CHANGED
@@ -240,6 +240,8 @@
240
240
 
241
241
  どこをどう直せばいいのでしょうか?
242
242
 
243
+ 再帰を使って定義することが条件の下です。
244
+
243
245
 
244
246
 
245
247
  ---