回答編集履歴
1
不具合指摘&修正方法
answer
CHANGED
@@ -1,1 +1,8 @@
|
|
1
|
+
#不具合1
|
1
|
-
q_sort関数の`while(1)`について終了条件や脱出条件がありません。おそらく`while(i<j)`にする必要がある
|
2
|
+
q_sort関数の`while(1)`について終了条件や脱出条件がありません。おそらく`while(i<j)`にする必要がある
|
3
|
+
|
4
|
+
#不具合2
|
5
|
+
q_sortの引数startと引数endの値の関係がstart < endでないと正しくなりません。例えば最初のNの入力で0を入力した場合、endは-1になります。そのまま進むと`q_sort(i,end,a)`=`q_sort(0,-1,a)`を繰り返し、無限に再起呼び出しします。先頭に`if(start >= end) return;`と書いてガードしましょう。
|
6
|
+
|
7
|
+
#不具合3
|
8
|
+
結果出力の仕方に不備があります。`1+a->key`は`1+a[0].key`と同じで先頭の要素のkey+1しか表示されません。`a[i].key`の誤りです。
|