How to shift elements of an array to the right by one position in Swift

1 Answer

0 votes
import Foundation

func shiftRight(_ arr: inout [Int]) {
    guard !arr.isEmpty else { return }

    let last = arr.last!
    for i in (1..<arr.count).reversed() {
        arr[i] = arr[i - 1]
    }
    arr[0] = last
}

func printArray(_ arr: [Int]) {
    print(arr.map(String.init).joined(separator: " "))
}

var numbers = [0, 1, 2, 3, 4, 5, 6]

shiftRight(&numbers)
printArray(numbers)



/*
run:

6 0 1 2 3 4 5

*/

 



answered Jun 27 by avibootz
...