私は自分の課題に苦労しており、何か助けが必要です。2次元配列の外側(中心から始まる)と時計回りのCスパイラルトラバーサル
2次元配列A [N] [N](ここでNは自然数で1からN^2までの自然数で満たさなければなりませんが、トラバーサルアルゴリズムは私が苦労しているものです)中心(A [N/2] [N/2])から始まり、らせん状と時計回りに移動すると、奇数(1,3,5,7 ...)になります。
例(N = 5):
25 10 11 12 13
24 9 2 3 14
23 8 1 4 15
22 7 6 5 16
21 20 19 18 17
Iパターン参照:中央= 1。 1xUP、1xRIGHT、2xDOWN、2xLEFT、3xUP、3xRIGHTなど...
ループでこのアルゴリズムを実装するにはどうすればよいですか? 時間が近づいていて、ここにこだわっています...
いくつかの提案を読んで助けてください。
ありがとうございました!
はい、私はこれを見ましたが、コードを編集して中央から開始し、垂直方向に上に移動し、次に螺旋状に&時計回りに移動するようにしますか?それが闘いです。 編集:インデックス[0] [0](行列の先頭)から始まるスパイラル&時計回りのコードもあります。私は現在、それがインサイドアウトからトラバースするようにそれに取り組んでいます。可能であれば、ここにコードを貼り付けることができます:それを見直す方法を教えてください。 – Waterfalse
また、これには正方形のカーネルを使うこともできます(円形の 'cos、sin'ではなく)。[2D 3 x 3グリッドの回転対角行列を回転させるには?](http://stackoverflow.com/a/40355825/) 2521214)行列の中心から外側の端にループ正方形...同心円のレンダリングに似ています – Spektre