- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:n個の要素を持つ配列xをシェルソートで昇順に整列)
n個の要素を持つ配列をシェルソートで昇順に整列する方法
このQ&Aのポイント
- n個の要素を持つ配列をシェルソートで昇順に整列する方法について教えてください。
- for文の j -= k の考え方につまずいています。どのように進めればいいですか。
- swap関数の実装は自信がありますが、kの値の調整やループの設定に自信がありません。アドバイスをお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
while(k/2>0){ /* (2) */ k /= 2; /* (3) */ for(i=0;i+k<n;i++) /* (4) */ for(j=i;j>=0 && x[j]>x[j+k];j-=k) /* (5) */ swap(x[j],x[j+k]); }
お礼
ありがとうございます。 参考になりました。 もっと勉強します。