teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

不具合指摘&修正方法

2019/09/28 14:34

投稿

nomuken
nomuken

スコア1627

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`の誤りです。