Просто используйте векторные операции. Это даже алгоритмом назвать нельзя - 2 векторные операции обмена.
Пример перестановки третьей строчки на последнее место на python/numpy:
>>> import numpy as np
>>> data
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
>>> data[:,[2,-1]] = data[:,[-1,2]]
>>> data[[2,-1]]=data[[-1,2]]
>>> data
array([[ 0, 1, 4, 3, 2],
[ 5, 6, 9, 8, 7],
[20, 21, 24, 23, 22],
[15, 16, 19, 18, 17],
[10, 11, 14, 13, 12]])