🌀
Juliaで配列を循環させる
1→2→3→4という順番を2→3→4→1のように変えたいときpush!(配列, 加える要素)
と最初の要素 = popfirst!(配列)
を組み合わせるとうまく配列を循環させられます.
julia> A = [1,2,3,4]
4-element Vector{Int64}:
1
2
3
4
julia> push!(A, popfirst!(A))
4-element Vector{Int64}:
2
3
4
1
julia> push!(A, popfirst!(A))
4-element Vector{Int64}:
3
4
1
2
julia> push!(A, popfirst!(A))
4-element Vector{Int64}:
4
1
2
3
このときpopfirst!(A)
は破壊的に配列A
から最初の要素を削除し, 最初の要素を返す関数です.
julia> A = [1,2,3,4]
julia> popfirst!(A)
1
julia> A
3-element Vector{Int64}:
2
3
4
一方, push!(A,x)
は最後にx
を要素として追加する関数です.
julia> A = [1,2,3,4]
julia> push!(A, 5)
5-element Vector{Int64}:
1
2
3
4
5
これらを応用し, 最初の要素を削除すると同時に最後に追加するのがpush!(A, popfirst!(A))
です.
Discussion
Julia 初心者なので,間違っていたらすみません.おそらく,circshift を使うのが一番シンプルではやいと思います.以下のURLのベストアンサーをご確認いただければと思います.
ありがとうございます!
これが見つけられなかったので作ってしまいました。本文の方でもこちらの関数を紹介させて頂きます🙇🏻♂️