• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:n個の要素を持つ配列xをシェルソートで昇順に整列)

n個の要素を持つ配列をシェルソートで昇順に整列する方法

このQ&Aのポイント
  • n個の要素を持つ配列をシェルソートで昇順に整列する方法について教えてください。
  • for文の j -= k の考え方につまずいています。どのように進めればいいですか。
  • swap関数の実装は自信がありますが、kの値の調整やループの設定に自信がありません。アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.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]); }

MUSIK
質問者

お礼

ありがとうございます。 参考になりました。 もっと勉強します。