質問編集履歴
3
コードの内容の変更と結果の提示
title
CHANGED
File without changes
|
body
CHANGED
@@ -7,8 +7,20 @@
|
|
7
7
|
c++
|
8
8
|
|
9
9
|
###欲しい情報
|
10
|
-
解決方法
|
10
|
+
解決方法に関する情報
|
11
11
|
|
12
|
+
###結果
|
13
|
+
1
|
14
|
+
0
|
15
|
+
0
|
16
|
+
0
|
17
|
+
1886912525
|
18
|
+
1835627109
|
19
|
+
1635020389
|
20
|
+
1634557804
|
21
|
+
1701535600
|
22
|
+
121
|
23
|
+
|
12
24
|
###コード
|
13
25
|
|
14
26
|
```c++
|
@@ -163,10 +175,20 @@
|
|
163
175
|
|
164
176
|
int HeapSort(){
|
165
177
|
|
166
|
-
|
178
|
+
int *aps = (int*)malloc(sizeof(int)*size);
|
179
|
+
int i=0;
|
180
|
+
int past = size;
|
167
181
|
|
182
|
+
size = 1;
|
183
|
+
aps[0] = array_int[0];
|
168
184
|
|
185
|
+
for (i=size; i<past; i++) {
|
186
|
+
insert(aps[i]);
|
187
|
+
}
|
169
188
|
|
189
|
+
free(array_int);
|
190
|
+
array_int = aps;
|
191
|
+
|
170
192
|
return 0;
|
171
193
|
}
|
172
194
|
|
2
コードの修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -163,25 +163,10 @@
|
|
163
163
|
|
164
164
|
int HeapSort(){
|
165
165
|
|
166
|
-
|
166
|
+
/***array_intをヒープ構造にしたい***/
|
167
|
-
int i=0;
|
168
|
-
int past = size;
|
169
|
-
size = 3;
|
170
167
|
|
171
|
-
for (i=0; i<size; i++) {
|
172
|
-
aps[i] = array_int[i];
|
173
|
-
}
|
174
168
|
|
175
|
-
for (; i<past; i++) {
|
176
|
-
insert(array_int[i]);
|
177
|
-
}
|
178
|
-
size = past;
|
179
169
|
|
180
|
-
free(array_int);
|
181
|
-
array_int = aps;
|
182
|
-
|
183
|
-
|
184
|
-
|
185
170
|
return 0;
|
186
171
|
}
|
187
172
|
|
1
コードが間違ってました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,9 +1,6 @@
|
|
1
1
|
###したいこと
|
2
2
|
配列array_intをヒープ条件に合うように並び替えたい。
|
3
3
|
|
4
|
-
###エラー内容
|
5
|
-
HeapSort()内のinsert(i);の内部のshiftdown()で「Thread 1: EXC_BAD_ACCESS (code=1, address=0x10851ec9c)」というエラーが起きます。理由は多分、i>>sizeだからだと思います。
|
6
|
-
|
7
4
|
###条件
|
8
5
|
なるべく関数を書き換えたくないです。(名称は絶対に)
|
9
6
|
xcode
|
@@ -166,11 +163,25 @@
|
|
166
163
|
|
167
164
|
int HeapSort(){
|
168
165
|
|
169
|
-
int
|
166
|
+
int *aps = (int*)malloc(sizeof(int)*size);
|
167
|
+
int i=0;
|
168
|
+
int past = size;
|
169
|
+
size = 3;
|
170
170
|
|
171
|
+
for (i=0; i<size; i++) {
|
171
|
-
|
172
|
+
aps[i] = array_int[i];
|
173
|
+
}
|
172
174
|
|
175
|
+
for (; i<past; i++) {
|
176
|
+
insert(array_int[i]);
|
177
|
+
}
|
178
|
+
size = past;
|
173
179
|
|
180
|
+
free(array_int);
|
181
|
+
array_int = aps;
|
182
|
+
|
183
|
+
|
184
|
+
|
174
185
|
return 0;
|
175
186
|
}
|
176
187
|
|